基于dsp的智能串口屏設(shè)計_第1頁
已閱讀1頁,還剩75頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  摘 要</b></p><p>  自20世紀60年代以來,數(shù)字信號處理日漸成為一項成熟技術(shù),并在多項應(yīng)用領(lǐng)域逐漸取代模擬信號處理系統(tǒng)。DSP技術(shù)設(shè)備具有靈活、精確、抗干擾能力強、設(shè)備尺寸小、速度快、性能穩(wěn)定和易于升級等優(yōu)點。以DSP為核心的控制器在控制過程中需要將許多參數(shù)顯示給客戶,同時有的參數(shù)針對可編程控制器需要在線修改,因此可以選著具有人機交互能力的人機

2、界面觸摸屏解決這一問題。接觸屏一般是針對可編程控制器(PLC)所設(shè)計的,不能與DSP直接通信,觸摸屏要與DSP通信需要開發(fā)相應(yīng)的應(yīng)用程序。</p><p>  本文論述了基于 DSP 的嵌入式系統(tǒng)中智能串口和 1553 總線擴展的研究與實現(xiàn)。在硬件設(shè)計方面,首先研究了 TMS320C6713 DSP 處理器的芯片架構(gòu)及應(yīng)用開發(fā)實例,詳細地論述了DSP擴展模塊的硬件電路設(shè)計。然后通過研究通用UART芯片 SC16C

3、654 的 FIFO 功能,圍繞 DSP 和單片機進行了智能串口的硬件設(shè)計。最后,在研究 EP-H31580 1553 總線芯片的基本功能和讀寫時序的基礎(chǔ)上,完成了1553 總線模塊的硬件設(shè)計。在軟件設(shè)計方面,首先進行了智能串口的數(shù)據(jù)通信協(xié)議設(shè)計,并圍繞協(xié)議進行了軟件設(shè)計。然后設(shè)計了 DSP 初始化模塊的相關(guān)程序,并完成了擴展存儲器的軟件測試。最后進行了 1553 總線的聯(lián)機調(diào)試。</p><p>  關(guān)鍵詞:數(shù)

4、字信號處理;人機界面觸摸屏;數(shù)字信號處理器(DSP) 串口</p><p><b>  Abstract</b></p><p>  Since the nineteen sixties, digital signal processing has become a mature technology, and in a number of application

5、areas gradually replacing the analog signal processing system.DSP device having a flexible, accurate, strong anti-interference capability, small device size, speed, stable performance and easy to upgrade etc..With DSP as

6、 the core controller in control process needs many parameters displayed to the customer, at the same time some parameters for programmable controller on-line modif</p><p>  Keywords: digital signal process

7、ing; man-machine interface touch screen; UniversalAsynchronous Receiver /Transmitter (UART)</p><p><b>  目 錄</b></p><p><b>  摘 要1</b></p><p>  Abstract

8、2</p><p><b>  前 言5</b></p><p><b>  第一章 緒論6</b></p><p>  1.1 觸摸屏原理6</p><p>  1.2 觸摸屏的分類6</p><p>  1.3 觸摸屏顯示器技術(shù)簡介8</p>&l

9、t;p>  第二章 數(shù)字信號控制器9</p><p>  2.1 DSP的特點及基本結(jié)構(gòu)9</p><p>  2.3TMS320C6713 概述10</p><p>  2.4 DSP系統(tǒng)的軟硬件開發(fā)流程11</p><p>  2.5 CCSv4概述12</p><p>  第三章 系統(tǒng)硬件電路

10、設(shè)計14</p><p>  3.1 DSP擴展模塊硬件電路設(shè)計14</p><p>  3.1.1 DSP擴展總體結(jié)構(gòu)14</p><p>  3.1.2MS320C6713內(nèi)部結(jié)構(gòu)14</p><p>  3.1.3 DSP復位電路設(shè)計15</p><p>  3.1.4. 上電復位16</p&g

11、t;<p>  3.1.5按鍵復位17</p><p>  3.1.6 FLASH存儲器擴展18</p><p>  3.1.7 DSP的JTAG電路設(shè)計19</p><p>  3.2 智能串口模塊硬件電路設(shè)計20</p><p>  3.2.1 智能串口總體結(jié)構(gòu)20</p><p>  3.

12、2.2 單片機及硬件電路擴展21</p><p>  3.2.4 SC16C654 及硬件電路設(shè)計22</p><p>  3.2.5 串口光電隔離電路設(shè)計23</p><p>  第四章 系統(tǒng)的軟件設(shè)計24</p><p>  4.1智能串口模塊協(xié)議設(shè)計及軟件實現(xiàn)24</p><p>  4.1.1 智能串

13、口協(xié)議設(shè)計24</p><p>  4.1.2 DSP發(fā)送數(shù)據(jù)流程26</p><p>  4.1.3 單片機發(fā)送數(shù)據(jù)流程27</p><p>  4.1.4 單片機接收數(shù)據(jù)流程29</p><p>  4.1.5 DSP接收數(shù)據(jù)流程29</p><p>  4.2 DSP擴展模塊軟件測試29</p&

14、gt;<p>  4.2.1 PLL倍頻設(shè)計30</p><p>  4.2.2 EMIF初始化設(shè)置31</p><p>  4.2.3 FLASH存儲器軟件測試32</p><p>  4.2.4 SDRAM存儲器軟件測試34</p><p>  第五章 串口屏的應(yīng)用設(shè)計35</p><p>

15、;  5.1 觸控配置35</p><p>  5.2 觸控界面設(shè)計36</p><p>  5.3 系統(tǒng)配置和外設(shè)38</p><p>  5.4 產(chǎn)品設(shè)計39</p><p>  第六章 結(jié)論與展望40</p><p><b>  結(jié) 論41</b></p><

16、;p><b>  參考文獻42</b></p><p><b>  致謝43</b></p><p><b>  前 言</b></p><p>  隨著信息時代的進步,信息技術(shù)的發(fā)展作為信息顯示的液晶顯示的應(yīng)用領(lǐng)域,也在不斷擴展。十幾年前,液晶顯示開始大規(guī)模從“筆段型顯示”轉(zhuǎn)向“點陣型顯示

17、”儀器,儀表產(chǎn)品中也只有那些號稱智能儀表的產(chǎn)品才能使用。時至今日,液晶顯示已經(jīng)深入到了人類生存的各個領(lǐng)域。凡是需要使用顯示的地方或產(chǎn)品,幾乎沒有不使用液晶顯示的。雖然有些產(chǎn)品可能以前就使用液晶顯示,但是今天使用的液晶顯示產(chǎn)品無論從技術(shù)上還是從質(zhì)量上或功能上都有了質(zhì)的提高和飛躍。液晶顯示應(yīng)用技術(shù)的發(fā)展是和液晶顯示應(yīng)用領(lǐng)域的擴大密不可分。 </p><p>  由于計算機硬件成本的降低,HMI產(chǎn)品

18、將以平板PC計算機為HMI硬件的高端產(chǎn)品為主,因為這種高端的產(chǎn)品在處理器速度、存儲容量、通訊接口種類和數(shù)量、組網(wǎng)能力、軟件資源共享上都有較大的優(yōu)勢,是未來HMI產(chǎn)品的發(fā)展方向。</p><p>  HMI是Human Machine Interface 的縮寫,“人機接口”,也叫人機界面。人機界面(又稱用戶界面或使用者界面)是系統(tǒng)和用戶之間進行交互和信息交換的媒介,它實現(xiàn)信息的內(nèi)部形式與人類可以接受形式之間的轉(zhuǎn)換

19、。人機界面產(chǎn)品由硬件和軟件兩部分組成,硬件部分包括處理器、顯示單元、輸入單元、通訊接口、數(shù)據(jù)存儲單元等,其中處理器的性能決定了HMI產(chǎn)品的性能高低,是HMI的核心單元。</p><p><b>  第一章 緒論</b></p><p><b>  1.1 觸摸屏原理</b></p><p>  觸摸屏包含上下疊合的兩個透明

20、層,四線和八線觸摸屏由兩層具有相同表面電阻的透明阻性材料組成,五線和七線觸摸屏由一個阻性層和一個導電層組成,通常還要用一種彈性材料來將兩層隔開。當觸摸屏表面受到的壓力(如通過筆尖或手指進行按壓)足夠大時,頂層與底層之間會產(chǎn)生接觸。所有的電阻式觸摸屏都采用分壓器原理來產(chǎn)生代表X坐標和Y坐標的電壓。</p><p>  1.2 觸摸屏的分類</p><p>  根據(jù)工作原理不同,觸摸屏被分為不

21、同種類,比較常見的包括電阻式觸摸屏、電容式觸摸屏和紅外式觸摸屏等等。電阻式觸摸屏電阻式觸摸屏是一種多層的復合薄膜,由一層玻璃或有機玻璃作為基層,內(nèi)表面涂有一層透明的ITO(氧化銦)導電層,上面再蓋有一層外表面硬化處理、光滑防刮的塑料層,它的內(nèi)表面也涂有一層ITO,在兩層導電層之間有許多細小的透明絕緣子把它們隔開。當手指接觸屏幕使之凹陷時,兩層ITO導電層之間出現(xiàn)一個接觸點,傳感器偵測到接通點后,由集成電路進行A/D轉(zhuǎn)換,并得到觸摸點的Y

22、軸和X軸的坐標。根據(jù)引出線數(shù)多少,電阻式觸摸屏分為四線式、五線式、八線式等種類,有的基層直接使用導電玻璃或者有機導電薄膜。電阻式觸摸屏的價格比較低廉,能在較為惡劣的環(huán)境下工作,并且利于大規(guī)模生產(chǎn),因此成為發(fā)展最早、用途最為廣泛的觸摸屏。目前全球生產(chǎn)的觸摸屏中,電阻式觸摸屏占90%以上。在手機領(lǐng)域,電阻式觸摸屏也有應(yīng)用,比如此前廣受歡迎的HTC Touch Diamond等等。不過,電阻式觸摸屏較大的缺點是不能實現(xiàn)多點同時觸摸,這也限制了

23、它在高端智能手機和游戲機中的應(yīng)用</p><p><b>  2)電容式觸摸屏</b></p><p>  電容式觸摸屏又可以細分為表面式和投射式兩種,表面式電容觸摸屏多用于ATM機和街機等大型設(shè)備,而投射式電容觸摸屏多用于手機。電容式觸摸屏是在玻璃屏幕上鍍有一層透明的薄膜導體層,在導體層外再附加了一塊保護玻璃,由于在觸摸屏四邊鍍有狹長的電極,因此在導電體內(nèi)形成了一個

24、低電壓交流電場。當用戶觸摸屏幕時,由于人體電場的原因,手指與導體層間形成一個耦合電容,四邊電極發(fā)出的電流會流向觸點,而電流強弱與手指到電極的距離成正比,位于觸摸屏幕后的處理器便會根據(jù)電流的比例及強弱,準確算出觸摸點的位置。投射式電容觸摸屏則更進一步將表面分為許多個小的單元,每個單元都擁有獨立的引線。當手指觸摸屏幕時,根據(jù)電容的變化,傳感器和處理芯片可以“繪制”出電容量的變化圖,從而實現(xiàn)多點觸控。電容式觸摸屏的雙層結(jié)構(gòu)能保護導體及傳感器,

25、更有效地防止環(huán)境因素對觸摸屏造成影響,就算屏幕沾有污穢、塵?;蛴蜐n,依然可以準確算出觸摸位置。臺灣Higgstec公司曾展示了它的電容式觸摸屏在沸水中煮過仍可正常工作。不過,電容式觸摸屏的成本較高,而且不易實現(xiàn)手寫輸入。隨著高端智能手機,特別是iPhone這樣支持多點觸摸的智能手機的流行,電容式觸</p><p><b>  3)紅外式觸摸屏</b></p><p>

26、  紅外式觸摸屏分為光感應(yīng)型和熱感應(yīng)型。光感應(yīng)型由裝在觸摸屏外框上的紅外線發(fā)射與接收感測元件構(gòu)成,在框的四邊排列了紅外線發(fā)射管及接收管,在屏幕表面形成一個紅外線網(wǎng)。用戶以手指觸摸屏幕某一點,便會擋住經(jīng)過該位置的兩條紅外線,傳感器即可算出觸摸點位置。因為紅外觸摸屏不受電流、電壓和靜電干擾,所以適宜某些惡劣的環(huán)境條件。它安裝方便、不需要任何控制器,可以用在各檔次的設(shè)備上。不過,由于只是在普通屏幕上增加了框架,因此在使用過程中架框四周的紅外線

27、發(fā)射管及接收管很容易損壞,而且由于邊框部分必須嵌入受光及發(fā)光元件,因此會使得邊框部分增粗,不利于機身的輕薄化。 熱感應(yīng)型紅外觸摸屏的用途更廣泛一些,它是靠感應(yīng)手指的熱輻射紅外線工作的。不過,它僅僅能檢測到熱的物體,如果寒冬在室外使用的話,由于手指溫度太低,它很有可能出現(xiàn)被“凍住”而失靈的情況。使用熱感應(yīng)型紅外式觸摸屏的手機也有一些,比如三星的滑蓋手機SGH-E900和SGH-U600。</p><p>  4)聲

28、波識別式觸摸屏</p><p>  聲波識別式觸摸屏包括聲脈沖識別觸摸屏和表面波識別觸摸屏,通過識別表面連續(xù)或脈沖聲波的變化來確定觸摸位置。它由觸摸屏、聲波發(fā)生器、反射器和聲波接收器組成,觸摸屏部分只是一塊純粹的強化玻璃,沒有任何貼膜和覆蓋層。玻璃屏的對角各安裝了垂直和水平方向的超聲波發(fā)射器和相應(yīng)的超聲波接收器。超聲波發(fā)射器能沿著屏幕表面發(fā)送高頻超聲波,當手指觸及屏幕時,觸點上的聲波波形即發(fā)生變化,由此確定坐標位

29、置。如果在CRT等堅固表面上使用的話,甚至不需要玻璃基板,直接將CRT表面當作基板即可。聲波識別觸摸屏不受溫度、濕度等環(huán)境因素影響;分辨率高,無論用筆、指甲或手指肚都可以識別;有極好的防刮性,壽命長;透光率高,能保持清晰透亮的圖像質(zhì)量;沒有漂移,只需安裝時一次校正,而且有第三軸(即壓力軸)響應(yīng)。它適合在公共場所的POS機、售貨亭等處使用。</p><p>  5)電磁感應(yīng)式觸摸屏</p><p

30、>  電磁感應(yīng)觸摸技術(shù)是較早應(yīng)用于便攜式IT產(chǎn)品的技術(shù),它的特征是需要一“筆”,而不是手指。這支筆能夠發(fā)射電磁波,通過接收裝置感應(yīng)到筆在屏幕上方的位置,就可進行定位。在其它觸摸屏的精度問題尚未解決時,早期的PDA、電子詞典與手寫板等都使用了這種方式。直到今天,電磁感應(yīng)式觸摸屏還在手機和平板電腦上發(fā)揮作用。電磁感應(yīng)式觸摸屏造價低,結(jié)構(gòu)簡單,利于手寫輸入文字,還可以和其它觸摸屏集成在一起,因此廣受歡迎。比如惠普TouchSmart T

31、X2平板電腦就采用了電磁感應(yīng)+電容式觸摸屏,電磁感應(yīng)筆進行手寫輸入,電容式觸摸則主要用于圖形界面操作。聯(lián)想ThinkPad X200T也有類似的電磁感應(yīng)+多點觸摸的型號,此外很多GPS、上網(wǎng)本和MID也同樣擁有電磁感應(yīng)式觸摸屏。</p><p>  1.3 觸摸屏顯示器技術(shù)簡介</p><p>  觸摸屏顯示器(Touch Screen)可以讓使用者只要用手指輕輕地碰計算機顯示屏上的圖符或

32、文字就能實現(xiàn)對主機操作,這樣擺脫了鍵盤和鼠標操作,使人機交互更為直截了當。主要應(yīng)用于公共場所大廳信息查詢、領(lǐng)導辦公、電子游戲、點歌點菜、多媒體教學、機票/火車票預售等。產(chǎn)品主要分為電容式觸摸屏,電阻式觸摸屏和表面聲波觸摸屏三類。觸摸屏顯示器主要組件觸摸屏和顯示器集成設(shè)備而且具有輸入輸出設(shè)備的功能,按照4線觸摸屏、6線觸摸屏、8線觸摸屏、紅外線式觸摸屏、表面聲波觸摸屏、電容式觸摸屏。觸摸屏顯示器也分有CRT觸摸屏顯示器和LCD觸摸屏顯示器

33、的基本兩種觸摸屏顯示器。觸摸屏顯示器外形同普通顯示器沒有明顯差別,只是比普通顯示器多出了一條觸摸屏信號線。安裝時注意觸摸屏顯示器必須裝相應(yīng)觸摸屏驅(qū)動程序才能正常使用,否則不能啟動觸摸屏操作。以下是觸摸屏顯示器的安裝技術(shù)介紹:拆卸顯示器的目的在于使CRT的前表面完全袒露和取下顯示器前罩,以便安裝觸摸屏</p><p>  2)拆卸顯示器注意事項(觸摸屏) 取出CRT時,一定不要抓拿或碰撞CRT的管頸及電子槍(觸摸

34、屏),因為電子槍是玻璃結(jié)構(gòu),非常容易被碰壞,所以取出CRT后必須要考慮到電子槍的安全,一般是CRT顯示面朝上放置于塑料桶中。 3) 修整顯示器前罩拆下CRT和顯示器前罩后,試著把觸摸屏放進拆下的顯示器前罩,一般前罩內(nèi)部設(shè)計了一些加強筋,這些加強筋主要在生產(chǎn)過程中脫模時有用,如果妨礙觸摸屏的放入或者覺得長期使用可能會傷及觸摸屏邊上的導線,就應(yīng)該用斜口鉗將其削掉(削剪后最好將切口打磨圓滑,因為切口太鋒利可能會傷及觸摸屏邊上的導線,如空間允

35、許等等,可以用泡沫雙面膠貼住切口)。 4)粘貼防塵條在顯示器前罩內(nèi)貼上防塵條有兩個作用: 1.防止壓壞換能器。某些顯示器如PHILIPS前罩可視框高度不夠,如果不貼防塵條裝入觸摸屏會使換能器被壓壞,從而導致觸摸屏無法使用,這種現(xiàn)象在純平顯示器上猶為突出,貼上防塵條可以為換能器墊出空間,從而解決這一問題。 2.防止外界灰塵進入觸摸屏條紋區(qū)。觸摸屏條紋上如果灰塵堆積太多會導致觸摸反應(yīng)遲鈍、局 部觸摸失效等問題,貼上防塵條可以有效解

36、決這一問題。 5)粘貼雙</p><p>  7)清潔、粘貼觸摸屏。用玻璃清潔劑和麂皮徹底地清潔觸摸屏的兩個表面,同時清潔顯示器的表面。清潔完畢后把觸摸屏認真居中對準屏幕粘上,注意在保證換能器安全的前提下盡量使觸摸屏的反射條紋在顯像管可視區(qū)之外,觸摸屏有三個換能器的一邊朝上,并立刻用耐高溫的膠帶封緊四邊的縫隙,以保證夾縫內(nèi)不進入灰塵。 如果將顯示器前罩平放在工作臺上,再將顯像管裝入顯示器前罩,則一定要將顯示器前

37、罩下部墊高,使觸摸屏不直接接觸工作臺,因為觸摸屏表面為弧形,否則極易在安裝時壓碎觸摸屏! 橡膠墊圈高度應(yīng)略微超過觸摸屏和雙面膠總的高度。</p><p>  第二章 數(shù)字信號控制器</p><p>  2.1 DSP的特點及基本結(jié)構(gòu)</p><p>  1、DSP 的主要特點:</p><p>  DSP 處理器作為當今嵌入式系統(tǒng)運用最廣

38、泛的處理器之一,主要具備以下優(yōu)點:</p><p> ?。?)接口方便:DSP系統(tǒng)與其他以現(xiàn)代數(shù)字技術(shù)為基礎(chǔ)的系統(tǒng)或設(shè)備都是互兼容的。</p><p> ?。?)編程方便:DSP系統(tǒng)中的可編程DSP芯片可使設(shè)計人員在開發(fā)過程中靈活方便地對軟件進行修改和升級。</p><p> ?。?)穩(wěn)定性好:DSP系統(tǒng)以數(shù)字處理為基礎(chǔ),受環(huán)境溫度以及噪聲的影響較小,可靠性高。&l

39、t;/p><p> ?。?)精度高:16位數(shù)字系統(tǒng)可以達到非常高的精度。</p><p> ?。?)可重復性好:模擬系統(tǒng)的性能受元器件參數(shù)影響性能變化比較大,而數(shù)字系統(tǒng)基本不受影響,因此數(shù)字系統(tǒng)便于測試、調(diào)試和大規(guī)模生產(chǎn)。</p><p> ?。?)集成方便:DSP 系統(tǒng)中的數(shù)字部件有高度的規(guī)范性,便于大規(guī)模集成。DSP 系統(tǒng)由于具備突出的優(yōu)點,因此己經(jīng)在通信、語音、圖

40、像、雷達、生物醫(yī)學、工業(yè)控制、儀器儀表等許多領(lǐng)域得到越來越廣泛的應(yīng)用。</p><p>  2.2DSP 芯片的基本結(jié)構(gòu)</p><p>  DSP芯片,也稱數(shù)字信號處理器,是一種特別適合于進行數(shù)字信號處理運算的微處理器,其主要應(yīng)用是實時快速地實現(xiàn)各種數(shù)字信號處理算法。根據(jù)數(shù)字信號處理的要求,DSP芯片一般具有如下主要特點:</p><p>  (1)在一個指令周期

41、內(nèi)可完成一次乘法和一次加法。</p><p> ?。?)程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù)。</p><p> ?。?)片內(nèi)具有快速RAM,通??赏ㄟ^獨立的數(shù)據(jù)總線在兩塊中同時訪問。</p><p>  (4)具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持。</p><p> ?。?)快速的中斷處理和硬件I/O支持。</p>&

42、lt;p> ?。?)具有在單周期內(nèi)操作的多個硬件地址產(chǎn)生器。</p><p>  (7)可以并行執(zhí)行多個操作。</p><p> ?。?)支持流水線操作,取指、譯碼和執(zhí)行等操作可以并行執(zhí)行。</p><p>  為了快速地實現(xiàn)數(shù)字信號處理運算,DSP芯片一般都采用特殊的軟硬件結(jié)構(gòu)。下面以TMS320系列為例介紹DSP芯片的基本結(jié)構(gòu)。</p>&l

43、t;p>  TMS320系列DSP芯片的基本結(jié)構(gòu)包括:哈佛結(jié)構(gòu)、流水線操作、專用的硬件乘法器和快速的指令周期。這些特點使得TMS320系列DSP芯片可以實現(xiàn)快速的DSP運算,并使大部分運算(例如乘法)能夠在一個指令周期內(nèi)完成。由于TMS320系列DSP芯片是軟件可編程器件,因此具有通用微處理器共有的方便靈活的特點。</p><p>  2.3TMS320C6713 概述</p><p&g

44、t;  目前Tl公司的DSP產(chǎn)品主要分為2類,一類為定點型的DSP,一類為浮點型的DSP。同浮點型DSP相比,定點DSP型號比較多,如TMS320C1X、TMS320C2X、TMS320C5X、TMS320C62X等,而且相對于浮點DSP價格較便宜。但是由于本系統(tǒng)將用于導航控制,導航系統(tǒng)的算法中主要以多階的矩陣運算為主,因此,定點DSP做浮點運算時,一般只能采用調(diào)動浮點庫函數(shù)、查表法等幾種方法進行,調(diào)用浮點庫函數(shù),雖然計算精度可以保證,

45、但計算速度比較慢,利用查表法計算浮點,計算精度與表格大小有關(guān),一般情況下,查表法的計算精度無法滿足精度要求。Tl 公司的浮點型DSP的型號有TMS320C3X/4X、TMS320C67X等。因為浮點DSP芯片硬件支持浮點格式,所以浮點運算能力強,運算精度也能夠滿足要求,雖然價格略高于定點DSP,但考慮到性能和速度,本系統(tǒng)采用浮點DSP芯片作為CPU。TMS320C67X系列DSP芯片是TI最新推出的浮點芯片,它的主頻最高達到225MHz

46、,且可以同時執(zhí)行八條指令,對于單精度運算可達IGFLOPS,對于雙精度浮點運算可達250MFLOPS。</p><p>  2.4 DSP系統(tǒng)的軟硬件開發(fā)流程</p><p>  基于 DSP 系統(tǒng)的嵌入式系統(tǒng)設(shè)計同大多數(shù)硬件電路設(shè)計一樣,首先需根據(jù)實際的需要選擇合適的 DSP 芯片。不同型號的 DSP 芯片的運行速率有比較大的差異,且芯片的價格也參差不齊,因此在進行硬件設(shè)計前需仔細考慮芯

47、片的選擇。其次,硬件電路工程師需根據(jù)處理器的擴展屬性根據(jù)用戶需求設(shè)計各個模塊的硬件電路原理圖。在設(shè)計過程中,需仔細考慮電源的供電能力、芯片 I/O 口的驅(qū)動能力,各器件之間的電平兼容性。在完成硬件電路設(shè)計之后,需同時完成兩個任務(wù)。</p><p>  第一、硬件開發(fā)工程師需根據(jù)信號完整性的原理完成 PCB 板的布局和布線。特別是對于以 DSP 處理器為代表的高速 PCB 設(shè)計需嚴格地設(shè)計各層的電源和地平面鋪銅以及

48、控制走線寬度、長度和各數(shù)據(jù)地址線、時鐘線之間的長度差。第二、采購人員需按照工程師的設(shè)計購買系統(tǒng)所需元器件,同時將信息反饋給工程師從而進行方案的修改。最后將設(shè)計完成的 PCB 底片圖進行板卡加工,以及芯片焊接。</p><p>  流程如圖 2.1 所示。</p><p>  2.1 硬件開發(fā)流程</p><p>  本文的設(shè)計使用了protel軟件作為硬件原理圖和P

49、CB圖設(shè)計開發(fā)的工具,DSP 系統(tǒng)的軟件開發(fā)主要是在 CCS平臺下的 C 語言或者匯編語言編程。開發(fā)的詳細流程如圖 2.2 所示:</p><p>  圖 2.2 軟件開發(fā)流程</p><p>  2.5 CCSv4概述</p><p>  Code Composer Studio(CCS或CCStudio)是一種針對TI的DSP、微控制器和應(yīng)用處理器的集成開發(fā)環(huán)境

50、。CCStudio包括一套用于開發(fā)和調(diào)試嵌入式應(yīng)用程序的工具。CCS有兩種工作模式,即軟件仿真器模式:可以脫離DSP芯片,在PC機上模擬DSP的指令集和工作機制,主要用于前期算法實現(xiàn)和調(diào)試。硬件在線編程模式:可以實時運行在DSP芯片上,與硬件開發(fā)板相結(jié)合在線編程和調(diào)試應(yīng)用程序。CCS的功能十分強大,它集成了代碼的編輯、編譯、鏈接和調(diào)試等諸多功能,而且支持C/C++和匯編的混合編程,其主要功能如下:</p><p>

51、;  1.具有集成可視化代碼編輯界面,用戶可通過其界面直接編寫C、匯編、.cmd文件等;</p><p>  2.含有集成代碼生成工具,包括匯編器、優(yōu)化C編譯器、鏈接器等,將代碼的編輯、編譯、鏈接和調(diào)試等諸多功能集成到一個軟件環(huán)境中;</p><p>  3.高性能編輯器支持匯編文件的動態(tài)語法加亮顯示,使用戶很容易閱讀代碼,發(fā)現(xiàn)語法錯誤;</p><p>  4.工

52、程項目管理工具可對用戶程序?qū)嵭许椖抗芾?。在生成目標程序和程序庫的過程中,建立不同程序的跟蹤信息,通過跟蹤信息對不同的程序進行分類管理;</p><p>  5.基本調(diào)試工具具有裝入執(zhí)行代碼、查看寄存器、存儲器、反匯編、變量窗口等功能,并支持C源代碼級調(diào)試;</p><p>  6.斷點工具,能在調(diào)試程序的過程中,完成硬件斷點、軟件斷點和條件斷點的設(shè)置;</p><p&g

53、t;  7.分析工具,包括模擬器和仿真器分析,可用于模擬和監(jiān)視硬件的功能、評價代碼執(zhí)行的時鐘;</p><p>  8.數(shù)據(jù)的圖形顯示工具,可以將運算結(jié)果用圖形顯示,包括顯示時域/頻域波形、眼圖、星座圖、圖像等,并能進行自動刷新;</p><p>  9.提供GEL工具。</p><p>  10. 支持多DSP的調(diào)試;</p><p>  

54、11.支持RTDX技術(shù),可在不中斷目標系統(tǒng)運行的情況下,實現(xiàn)DSP與其他應(yīng)用程序的數(shù)據(jù)交換;</p><p>  第三章 系統(tǒng)硬件電路設(shè)計</p><p>  在本文的硬件電路設(shè)計中主要包含三個部分: DSP 擴展模塊硬件電路設(shè)計、智能串口模塊硬件電路設(shè)計和 1553 總線協(xié)議及電路設(shè)計。DSP 作為整個系統(tǒng)的核心控制器與 SDRAM 和 FLASH 交互數(shù)據(jù)、向串口模塊收發(fā)數(shù)據(jù)以及與 1

55、553 總線模塊建立通信。通過對 EMIF 接口部分的研究,可以完成對 DSP 外圍設(shè)備的擴展。</p><p>  本文的另外一個主要部分是以 51 單片機為核心,控制六串口的數(shù)據(jù)接收和發(fā)送,主要是實現(xiàn)串口 256 字節(jié)緩沖區(qū)的擴充。接收數(shù)據(jù)時將來自串口的數(shù)據(jù)“打包”供 DSP 接收,發(fā)送數(shù)據(jù)時將 DSP 發(fā)送的打包數(shù)據(jù)“拆包”發(fā)送到對應(yīng)串口,從而完成智能串口的設(shè)計。最后將介紹 1553 總線的協(xié)議及硬件電路設(shè)

56、計。本章主要是根據(jù)以上三個部分展開硬件設(shè)計的論述。</p><p>  3.1 DSP擴展模塊硬件電路設(shè)計</p><p>  3.1.1 DSP擴展總體結(jié)構(gòu)</p><p>  如圖 3.1 所示:</p><p>  圖 3.1 DSP 擴展總體結(jié)構(gòu)</p><p>  3.1.2MS320C6713內(nèi)部結(jié)構(gòu)<

57、;/p><p>  TMS320C6713系列DSP(包括TMS320C6713和TMS320C6713B)是一種支持浮點運算的DSP芯片,是德州儀器公司設(shè)計的用于高端處理的長指令、多功能的DSP芯片。由于工作頻率可以達到225MHz,所以每秒可以處理1800M條浮點運算指令,或240M條定點運算指令,由于內(nèi)部的可定點或浮點復用的處理器使該器件可每秒處理60M條乘法運算。芯片的主要結(jié)構(gòu)如圖3.2所示:</p&g

58、t;<p>  圖 3.2 TMS320C6713 內(nèi)部結(jié)構(gòu)框圖</p><p>  3.1.3 DSP復位電路設(shè)計</p><p>  DSP 復位包括上電復位和按鍵復位兩個部分。上電復位主要是通過 TI 公司</p><p>  的電源芯片 TPS70445 上的 RESET 輸出引腳提供復位信號供 DSP 復位。另外為</p>&l

59、t;p>  了便于硬件調(diào)試和用戶使用,本文還設(shè)計了按鍵復位。兩種復位方式的復位信號</p><p>  在 CPLD 可編程邏輯器件中進行相或之后將復位信號送入 DSP 處理器。復位設(shè)計邏輯如圖 3.3 所示:3.1 節(jié)點數(shù)</p><p>  圖 3.3 DSP 復位邏輯</p><p>  3.1.4. 上電復位</p><p> 

60、 本文設(shè)計中采用了 TI 公司的電壓調(diào)整芯片 TPS70445作為 DSP 模塊的供電器件,該芯片同時還具有給 DSP 處理器提供復位信號的功能。如圖 3.4 </p><p>  圖 3.4TPS70445 引腳結(jié)構(gòu)圖</p><p>  該芯片是一款提供 5V 到 3.3V 和 1.2V 轉(zhuǎn)換的電壓調(diào)整芯片,3.3V 為 DSP 的I/O 口供電,而 1.2V 為 DSP 內(nèi)核供電。3

61、.3V 輸出可支持 1A 的負載,而 1.2V 輸出最高支持 2A 的負載功耗。3.3V 是通過 Vout1 引腳輸出,而 1.2V 是通過 Vout2引腳輸出。在使用該款芯片時要注意散熱問題,芯片的 1、12、13、24 引腳既作為接地引腳使用同時又作為散熱引腳使用,同時芯片的背面有一塊導熱板,可以在設(shè)計 PCB 時,在該芯片的封裝處預留導熱焊盤,同時通過若干過孔把焊盤引到電路板的地層,這樣可以起到很好的散熱效果,DSP 從而可以獲得

62、穩(wěn)定的電壓。除此之外,該芯片同時具備了給 DSP 提供上電復位信號的功能。其功能原理如圖 3.5 所示:</p><p>  圖 3.5 TPS70445 上電原理圖</p><p><b>  3.1.5按鍵復位</b></p><p>  如圖 3.6 所示:</p><p>  圖 3.6 按鍵復位電路原理圖<

63、;/p><p>  當按鍵按下時,1(2)就和 3(4)導通,SYS_RST 引腳端為低電平。同時為了便于觀察,在 PCB 板上接了一個發(fā)光二極管,按鍵按下由于 SYS_RST 為低電平,VCC 和地之間的壓降將導致 LED 管的導通,從而發(fā)光提示系統(tǒng)復位。</p><p>  3.1.6 FLASH存儲器擴展</p><p>  TMS320C6713 具備 CE0、

64、CE1、CE2、CE3 這四個可擴展的存儲空間,每個空間的起始地址分別為 0x80000000、0x90000000、0xa0000000、0xb0000000。CE0空間只能用于同步存儲器的分配,例如:SDRAM、SBSRAM。CE1 空間可用于異步存儲器使用,但是如果引導模式是 ROM,那么該空間必須用于 ROM、EPROM、EEPROM、FLASH 等存儲芯片的擴展。本次設(shè)計使用的 FLASH 存儲器是 SST 公司的 SST39

65、VF1601芯片。該器件的工作電壓范圍是 2.7V-3.6V,具有功耗低、編程方便等特點。SST39VF1601 的引腳描述如表 3.7 所示。</p><p>  表 3.7FLASH 存儲器引腳描述表。</p><p>  由于 FLASH 是一個異步存儲器芯片,因此在和 FLASH 連接的時候,DSP 芯片的 83 和 75 引腳分別工作在 AWE(異步寫)和 AOE(異步讀)模式S

66、ST39VF1601 芯片的數(shù)據(jù)總線和地址總線長度分別為 16 位和 20 位,因此可以支持 16Mb 的容量擴展。本次設(shè)計將 FLASH 分配到 CE1 空間,電路如圖 38</p><p>  圖 3.8 FLASH 存儲器擴展電路原理圖</p><p>  3.1.7 DSP的JTAG電路設(shè)計</p><p>  仿真是調(diào)試嵌入式系統(tǒng)開發(fā)過程中必不可少的重要環(huán)

67、節(jié)。在嵌入式操作系統(tǒng)中,開發(fā)主機和目標機處于不同的機器中,程序在開發(fā)主機上進行研發(fā)(編輯、交叉編譯、連接定位等)、然后下載到目標機(嵌入式系統(tǒng)中)進行運行和調(diào)試,即遠程調(diào)試。也可以說,調(diào)試程序運行在桌面操作系統(tǒng),而被調(diào)試的程序運行在嵌入式系統(tǒng)上。這就引出了如下問題,即位于不同的操作系統(tǒng)之上的調(diào)試器與被調(diào)試程序之間如何通信,被調(diào)試程序如果出現(xiàn)異常如何告知被調(diào)試器,調(diào)試器又如何控制以及訪問被調(diào)試程序等。使用 JTAG 方式就是片上調(diào)試的一種

68、方法。</p><p>  TMS 用來設(shè)置 JTAG 接口處于某種特定的測試模式,TCK 測試時鐘輸入,TDI 和 TDO 分別用于測試數(shù)據(jù)輸入和數(shù)據(jù)輸出,TRST 可以用來對 TAP Controller進行復位。EMU0 和 EMU1 通過接弱上拉電阻接入高電平使器件處于正確的邊界掃描模式。本次設(shè)計的 JTAG 仿真接口電路如圖 3.9 所示。</p><p>  圖 3.9 DSP

69、 的 JTAG 仿真接口電路圖</p><p>  JTAG 標準定義了一個串行移位寄存器,寄存器的每一個單元分配給 IC 芯片的相應(yīng)引腳,每一個獨立的單元成為邊界掃描單元。這個串聯(lián)的掃描單元在 IC內(nèi)部構(gòu)成了 JTAG 回路,所有的掃描單元通過 JTAG 測試激活,平時這些引腳保持正常功能。</p><p>  3.2 智能串口模塊硬件電路設(shè)計</p><p> 

70、 在組合導航系統(tǒng)中通常包含高度表、GPS接收裝置等眾多的RS-232和RS-422電平信號。對于每一路信號通常具有較高的數(shù)據(jù)傳輸速率,但是同 DSP 的數(shù)據(jù)處理速度相比仍然有比較大的差異。為了能夠充分節(jié)省 DSP 的資源,使其有更多的時間用于算法的實現(xiàn),串口模塊中需給 DSP 處理器提供一個容量較大的接收和發(fā)送緩沖區(qū)。在本文的設(shè)計中利用單片機作為智能串口的核心處理器,通過軟硬件設(shè)計實現(xiàn)了 6 串口、256 字節(jié)緩沖數(shù)據(jù)區(qū)。</p&

71、gt;<p>  3.2.1 智能串口總體結(jié)構(gòu)</p><p>  在智能串口的硬件設(shè)計中主要使用了 AT89LS52 單片機作為核心控制處理器。同時使用 8K×8bit 的雙端口存儲器作為串口與 DSP 交互的硬件載體。通過對SC16C654 通用 UART 器件的編程實現(xiàn) 6 串口、2 種波特率(230.4Kbps,115.2Kbps)的串口擴展。根據(jù)系統(tǒng)需要,在串口設(shè)計中還使用了光電

72、隔離技術(shù)。本模塊的結(jié)構(gòu)框圖如圖 3.10所示。</p><p>  圖 3.10 智能串口總體結(jié)構(gòu)圖</p><p>  單片機作為智能串口模塊的核心處理器,接收數(shù)據(jù)時把來自串口的數(shù)據(jù)放入雙端口存儲器中,同時在共享標記空間中使接收的數(shù)據(jù)長度值加一、從而實現(xiàn)數(shù)據(jù)的“打包”操作。DSP 可以訪問雙端口存儲器,取出來自串口的數(shù)據(jù)進行相應(yīng)的處理。在發(fā)送數(shù)據(jù)時,DSP 將一幀數(shù)據(jù)放入雙端口存儲器中,

73、單片機通過逐字節(jié)地將雙端口 RAM 中的數(shù)據(jù)發(fā)往對應(yīng)的串行接口實現(xiàn)數(shù)據(jù)的“拆包”工作。本小節(jié)將逐步地介紹智能串口各個組成模塊的硬件結(jié)構(gòu)及電路設(shè)計。</p><p>  3.2.2 單片機及硬件電路擴展</p><p>  單片機又稱單片微型計算機,是將 CPU、RAM、ROM、I/O 接口和定時器/計數(shù)器等功能集成在一塊芯片上的微型計算機,簡稱單片機。由于單片機把各種功能部件集成在一塊芯片

74、上,因此它的結(jié)構(gòu)緊湊、超小型化、可靠性高、價格低廉,易于開發(fā)應(yīng)用。</p><p>  MCS-51 單片機是目前常用的一類單片機,在本次設(shè)計中采用了 Atmel 公司研制的 AT89LS52單片機,它具有較小的功耗(3.3V)、16MHZ 晶振輸入。同大多數(shù)單片機一樣 AT89LS52 單片機分為片內(nèi)程序存儲器(FLASH:8K)、片內(nèi)數(shù)據(jù)存儲器、片外程序存儲器、片外數(shù)據(jù)存儲器,一共 64K 的擴展空間。由于要

75、連接DSP 和多串口模塊,所以單片機的 P0 口和 P2 口就用于地址/數(shù)據(jù)總線的擴展。</p><p>  圖 3.11 單片機地址/數(shù)據(jù)總線擴展電路圖</p><p>  存儲器提供了兩個完全獨立的端口,每個端口分別有自己的控制線、地址線和I/O數(shù)據(jù)線。2個CPU可以獨立地讀寫其中任一雙端口RAM單元。使用雙端口存儲器在2個CPU之間共享信息有很多優(yōu)點:速度快,方式簡單,存取共享信息所

76、用的時間一般與存取CPU外部RAM中數(shù)據(jù)所用時間一樣。雙端口RAM在使用上應(yīng)注意的一個問題是有可能發(fā)生爭用。當兩個端口的CPU同時取同一雙端口RAM單元時,就產(chǎn)生了爭用,會出現(xiàn)數(shù)據(jù)混亂狀態(tài)。通常有四種解決方案:硬件判優(yōu)、中斷方案、令牌傳遞方案和軟件判優(yōu)。在本次設(shè)計中根據(jù)系統(tǒng)需要選用了 IDT 公司的 8K×8bit 的雙端口存儲器IDT70V05。該芯片具有以下特點:允許同時對同一個單元進行讀操作對存儲器的高速訪問,在工業(yè)標準

77、下可達20ns低功耗操作通過選擇 Master/Slave 模式容易擴展到 16bit 的數(shù)據(jù)總線寬度具有中斷標記功能針對兩個端口完全支持硬件信號燈機制第 3 章 系統(tǒng)硬件電路設(shè)計 25兩個端口完全的異步操作TTL 電平兼容,單一的 3.3V 供電</p><p>  3.2.4 SC16C654 及硬件電路設(shè)計</p><p>  SC16C654 UART 的 8 位數(shù)據(jù)并行總線同單片

78、機擴展總線電路中的 245 雙向三態(tài)器 B 端相連,A2、A1、A0 引腳接到 373 鎖存器的輸出端。通過對單片機 P2 口的最高三位 P2.7、P2.6、P2.5 譯碼后選中 SC16C654 四通道中的任意一個通道進行相關(guān)操作。本次設(shè)計主要是使用了 SC16C654 的 FIFO 功能。64 字節(jié)的發(fā)送和接收 FIFO是通過設(shè)置FIFO控制寄存器的FCR[0]為1使能。讀取LSR寄存器的最低位LSR[0]可以判斷是否有數(shù)據(jù)放入 F

79、IFO 中,如果該位為 1 則表示接收數(shù)據(jù)準備好。在發(fā)送時,通過判斷 LSR[5]是否為 1 來檢測發(fā)送 FIFO 是否還有空間可用。讀取 RHR寄存器可以讀取接收FIFO的當前字節(jié),寫THR寄存器可以將數(shù)據(jù)寫入發(fā)送FIFO</p><p>  3.2.5 串口光電隔離電路設(shè)計</p><p>  在實際的電子電路系統(tǒng)中,不可避免地存在各種各樣的干擾信號,若電路的抗干擾能力差將導致測量、控

80、制準確性的降低,產(chǎn)生誤動作,從而帶來破壞性的后果。因此,如果在硬件上采用一些隔離技術(shù),破壞干擾信號進入測控系統(tǒng)的途徑,可有效地提高系統(tǒng)的抗干擾能力。事實證明,采用隔離技術(shù)是一種簡便且行之有效的方法。隔離技術(shù)是破壞"地"干擾途徑的抗干擾方法,硬件上常用光電耦合器件實現(xiàn)電→光→電的隔離,這樣可以有效地破壞干擾源的進入,可靠地實現(xiàn)信號的隔離,且容易構(gòu)成各種功能狀態(tài)??紤]到系統(tǒng)的安全性,本次設(shè)計根據(jù)需求加入光電隔離模塊。在本

81、文的設(shè)計中考慮到輸入端的電流驅(qū)動能力,以及整個電路的邏輯正確性,需在 SC16C654 的輸出端連接一個反相器,然后反相器的輸出接到光電隔離模塊的輸入陽極,這樣可以保證從 UART 輸出的邏輯和經(jīng)光電隔離之后的邏輯一致。本文光電隔離模塊的電路原理圖如圖 3.12 所示:</p><p>  圖 3.12 串口光電隔離電路原理圖</p><p>  如圖所示,從 SC16C654 發(fā)出的數(shù)據(jù)

82、信號(一共有 6 個通道,由于篇幅限制只了通道 A,例如 SAOUT),經(jīng)過 74HC04 反向后輸出,經(jīng)過光電隔離之后電次取反,并將結(jié)果送往串口芯片,因此設(shè)計可以保證數(shù)據(jù)的邏輯正確。</p><p>  第四章 系統(tǒng)的軟件設(shè)計 </p><p>  本章將重點介紹系統(tǒng)的軟件設(shè)計及測試,主要分兩節(jié)對系統(tǒng)軟件部分進行詳細介紹。第一部分是本章的重點內(nèi)容,包括了智能串口的協(xié)議設(shè)計以及軟件實現(xiàn)

83、過程。第二部分介紹在 DSP 系統(tǒng)初始化過程中倍頻設(shè)置和 EMIF 配置的軟件設(shè)計以及對 FLASH 和 SDRAM 存儲器的軟件測試。</p><p>  4.1智能串口模塊協(xié)議設(shè)計及軟件實現(xiàn)</p><p>  根據(jù)系統(tǒng)需求,在本文基于 DSP 的嵌入式系統(tǒng)設(shè)計中需要支持 6 路串行通道的數(shù)據(jù)收發(fā)。其中2路用于RS-232、115.2kbps,另外的4路用于RS-422、230.4kb

84、ps。6 路串行通道需要開辟 256 字節(jié)的緩沖區(qū)。但是普通的 UART 芯片最高也只能支持 64 字節(jié)的 FIFO 緩沖,因此需要擴展現(xiàn)有的緩沖區(qū)。通過 DSP 和單片機的共同編程控制,可以實現(xiàn) 256 字節(jié)、6 通道緩沖區(qū)的設(shè)計。</p><p>  4.1.1 智能串口協(xié)議設(shè)計</p><p>  智能串口協(xié)議主要包括兩個部分的內(nèi)容:(1)數(shù)據(jù)發(fā)送協(xié)議。(2)數(shù)據(jù)接收協(xié)議。</

85、p><p>  數(shù)據(jù)發(fā)送協(xié)議流程:DSP 發(fā)送數(shù)據(jù)到各個串行接口的方式是小于 256 字節(jié)任意長度的模塊化發(fā)送,因此需要設(shè)計一個智能發(fā)送系統(tǒng)來對 DSP 的“整包”數(shù)據(jù)進行“拆包”后發(fā)送到串行接口。在設(shè)計中,單片機就擔負起數(shù)據(jù)拆包并發(fā)送至串口的工作。圖 4.7 中的深色部分是存放在雙端口存儲器中的共享資源。當 DSP需要將數(shù)據(jù)發(fā)送至串行接口時,其首先判定發(fā)送的通道。然后查看該通道的通道發(fā)送標記(判別是發(fā)往高通道或者低

86、通道)。接著訪問共享資源中的允許發(fā)送標記,如果檢測獲知可以發(fā)送則將整個一幀的數(shù)據(jù)發(fā)送至該通道,然后將本次發(fā)送的數(shù)據(jù)長度寫入發(fā)送長度標記單元。當單片機循環(huán)到需要接收本通道的數(shù)據(jù)時首先查看本次訪問的半通道標記(0:訪問低半通道,1:訪問高半通道)。然后查看單片機是否允許接收,如果可以則將數(shù)據(jù)逐字節(jié)地發(fā)往串行接口。當發(fā)送完一幀數(shù)據(jù)后改變半通道標記,使下一次從另一半通道發(fā)送數(shù)據(jù)。</p><p>  數(shù)據(jù)接收協(xié)議流程:單

87、片機需將從串行接口接收的數(shù)據(jù)放入雙端口存儲器中。先查看單片機接收通道標記,如果為 0x00 則將數(shù)據(jù)放入接收低通道,如果為0xff 則將數(shù)據(jù)放入接收的高通道。每次放完一字節(jié)數(shù)據(jù),需將接收長度值加 1。DSP 在接收數(shù)據(jù)時首先檢查接收通道標記(0:接收地通道,1:接收高通道)。然后查看接收的長度是否為 0,如果不為 0,則修改單片機接收通道標記值,此刻單片機如果接收到串口數(shù)據(jù),可以將數(shù)據(jù)放入另一半通道,這樣可以提高數(shù)據(jù)處理速度,充分利用雙

88、端口存儲器的資源。當 DSP 接收了半通道的數(shù)據(jù)之后即可將接收長度清零,同時將接收通道標記取反,使 DSP 下次接收數(shù)據(jù)時從另一半通道接收。</p><p>  在協(xié)議設(shè)計中由于涉及到兩個處理器交互數(shù)據(jù),因此需要設(shè)置一些用于交互的共享信息,這些信息存儲在雙端口存儲器中的某些內(nèi)存空間中。DSP 和單片機在訪問這些信息時需針對硬件信號燈進行互斥操作。這些共享信息如圖所示;</p><p>  

89、圖 4.1 雙端口存儲器中的共享信息</p><p>  4.1.2 DSP發(fā)送數(shù)據(jù)流程</p><p>  DSP 發(fā)送數(shù)據(jù)流程:串口數(shù)據(jù)的發(fā)送需要 DSP 和單片機共同完成。DSP 處理器主要是進行數(shù)據(jù)的模塊化發(fā)送,而單片機主要是將 DSP 發(fā)送的模塊化數(shù)據(jù)“拆</p><p>  包”逐字節(jié)地發(fā)送到串行接口。在發(fā)送數(shù)據(jù)的過程中需要同單片機處理器交互一</

90、p><p>  些共享數(shù)據(jù),因此在訪問共享數(shù)據(jù)的時候需要進行互斥操作。例如在訪問之前需寫 0x00 到雙端口存儲器對應(yīng)的信號燈單元,然后讀取 D0 數(shù)據(jù)總線,如果為 0 代表本次操作已經(jīng)獲取信號燈,如果為 1 則需等待。DSP 將需要發(fā)送的數(shù)據(jù)放入數(shù)組中,整包地向雙端口存儲器中存放數(shù)據(jù)。在DSP 每次發(fā)送一幀完整數(shù)據(jù)之前(不超過 256 字節(jié)),首先檢查發(fā)送通道標記(自定義的變量),如果為 0 則發(fā)往低通道,為 1

91、則發(fā)往高通道。然后檢查對應(yīng)通道的允許發(fā)送標記(雙端口存儲器中用于 DSP 和單片機交互信息的共享變量,圖4.20 所示,0x00:可以發(fā)送,0xff:不可以發(fā)送)。如果可以發(fā)送,則將數(shù)據(jù)放入對應(yīng)的空間(低/高),并將發(fā)送長度寫入低(高)通道發(fā)送長度標記單元。當一幀完整數(shù)據(jù)發(fā)送完畢之后,本通道(低/高)的 DSP 指針回到初始位置,改變發(fā)送的通道標記,使下一次發(fā)送數(shù)據(jù)放入另外一個半通道,然后修改允許發(fā)送標記為 0xff(告知單片機可以取數(shù)

92、發(fā)往串口)。DSP 發(fā)送數(shù)據(jù)的流程如圖 4.2 所示。</p><p>  圖 4.2 DSP 向多串口發(fā)送數(shù)據(jù)</p><p>  4.1.3 單片機發(fā)送數(shù)據(jù)流程</p><p>  在本系統(tǒng)的設(shè)計中,單片機主要有三個任務(wù):(1)初始化兩片 SC16C654 芯片;(2)接收來自串口的數(shù)據(jù),并“打包”供 DSP 接收;(3)將來自 DSP 的數(shù)據(jù)“拆包”后發(fā)送到串

93、行接口。本小節(jié)將介紹單片機對串口的初始化以及單片機發(fā)送數(shù)據(jù)的流程和程序設(shè)計。1. 單片機初始化串口:單片機在初始化 UART 時主要有三個任務(wù)。首先需要設(shè)定串行波特率(系統(tǒng)要求 4 路工作在 230.4kbps,2 路工作在 115.2kbps,調(diào)試時可以降低頻率測試),其次設(shè)置串行傳輸?shù)臄?shù)據(jù)格式(1 個起始位、1 個停止位、8個數(shù)據(jù)位、無校驗位),最后使能 FIFO。通過配置 LCR、EFR 以及 MCR 寄存器可以使 SC16C65

94、4 工作在特定的串行波特率下。設(shè)置 LCR 寄存器可以設(shè)定串行通信的數(shù)據(jù)格式。將 FCR 寄存器的最低位置一即可進行 FIFO 操作。</p><p>  2. 單片機發(fā)送數(shù)據(jù)流程:單片機發(fā)送 DSP 傳輸?shù)酱诘臄?shù)據(jù)是一個“拆包”的操作,將完整的一幀數(shù)據(jù)按順序地發(fā)送到串行接口。在單片機發(fā)送數(shù)據(jù)時需要注意允許發(fā)送標記,如果為 0x00,則表示 DSP 一個完整數(shù)據(jù)幀還沒有全部放入雙端口中,單片機可以去處理其他的任

95、務(wù)。只有當該標記為 0xff 的時候單片機才可以發(fā)送數(shù)據(jù)。</p><p>  在單片機每次循環(huán)處理本通道的數(shù)據(jù)發(fā)送時,首先檢測本次將訪問的半通道標記,然后查看對應(yīng)的低(高)通道允許發(fā)送標記。如果為 0xff則表示可以發(fā)送數(shù)據(jù),每次發(fā)送一字節(jié)。如果已經(jīng)完成本通道一個完整數(shù)據(jù)幀的發(fā)送,則改變將要訪問的半通道標記(下次從另一半通道取數(shù)),同時單片機的本半通道指針回到初始位置,已發(fā)送的數(shù)據(jù)總長清 0,低(高)通道發(fā)送標

96、記置為0x00(告訴 DSP 當前通道為空,可以往里面發(fā)送數(shù)據(jù))。以 0 通道為例,單片機發(fā)送至串口的程序如下:</p><p>  void send_uart0()</p><p><b>  {</b></p><p>  if(sendchl_flg[0] == (char)0x00)</p><p><b

97、>  {</b></p><p>  //檢查半通道標記為 0x00,表示為低半通道</p><p>  *(volatile char xdata *)SEM_ADDR0 = 0x00; //試圖獲取信號燈</p><p>  while(*(volatile char xdata *)SEM_ADDR0 == (char)0xff);//等待信

98、號燈</p><p>  if(*(volatile char xdata *)SD_LOW_FLAGADDR0 == (char)0x00)</p><p><b>  {</b></p><p>  *(volatile char xdata *)SEM_ADDR0 = 0xff;</p><p><b>

99、  return;</b></p><p><b>  }</b></p><p>  sendlen[0] = *(volatile int xdata*)SD_LOW_LEN0;</p><p>  *(volatile char xdata *)SEM_ADDR0 = 0xff; //釋放信號燈</p><

100、p>  while((*(volatile char xdata *)LSR_ADDR0 & 0x20) != (char)0x20); </p><p>  *(volatile char xdata *)THR_ADDR0 = *send_lowaddr[0];</p><p>  ++send_lowaddr[0];</p><p>  ++se

101、ndedlen[0];</p><p>  if(sendedlen[0] >= sendlen[0])</p><p><b>  {</b></p><p>  sendchl_flg[0] = 0xff; //發(fā)送完一幀長數(shù)據(jù),改變半通道標記</p><p>  send_lowaddr[0] = (vola

102、tile char xdata*)SD_LOW_BASEADDR0;</p><p>  sendedlen[0] = 0; //已發(fā)送的數(shù)據(jù)清零</p><p>  *(volatile char xdata *)SEM_ADDR0 = 0x00; //試圖獲取信號燈</p><p>  while(*(volatile char xdata *)SEM_ADDR

103、0 == (char)0xff);</p><p>  *(volatile char xdata *)SD_LOW_FLAGADDR0 = 0x00;</p><p>  //通知 DSP 可以往本半通道放置數(shù)據(jù)</p><p>  *(volatile char xdata *)SEM_ADDR0 = 0xff; //釋放信號燈</p><p

104、><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  *(volatile char xdata *)SEM_ADDR0 = 0x0

105、0; //試圖獲取信號燈</p><p>  while(*(volatile char xdata *)SEM_ADDR0 == (char)0xff);//等待信號燈</p><p>  if(*(volatile char xdata *)SD_HIGH_FLAGADDR0 == (char)0x00)</p><p><b>  {</b&g

106、t;</p><p>  *(volatile char xdata *)SEM_ADDR0 = 0xff;</p><p><b>  return;</b></p><p><b>  }</b></p><p>  sendlen[0] = *(volatile int xdata*)SD_H

107、IGH_LEN0;</p><p>  *(volatile char xdata *)SEM_ADDR0 = 0xff; //釋放信號燈</p><p>  while((*(volatile char xdata *)LSR_ADDR0 & 0x20) != (char)0x20);</p><p>  *(volatile char xdata *)T

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論