新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 雙DSP系統(tǒng)串口擴展

雙DSP系統(tǒng)串口擴展

作者: 時間:2011-07-13 來源:網(wǎng)絡 收藏

在研制無線分組網(wǎng)絡路由控制器時,采用了雙結(jié)構(gòu)進行數(shù)據(jù)處理,另外還需8個,很顯然這是本身所無法解決的,故必須進行。

本文引用地址:http://m.butianyuan.cn/article/150473.htm

常用方法:
從本質(zhì)上講,所有的串口擴展接口電路都是以并行數(shù)據(jù)形式與CPU接口,而以串行數(shù)據(jù)形式與外部邏輯接口。它們的基本功能是從外部邏輯接收串行數(shù)據(jù),轉(zhuǎn)換成并行數(shù)據(jù)后傳送給CPU;或者從CPU并行輸出的數(shù)據(jù),轉(zhuǎn)變成串行數(shù)據(jù)后輸出給外部邏輯。串行通信接口電路至少包括一個接收器和一個發(fā)送器,而接收器和發(fā)送器都分別包括一個數(shù)據(jù)寄存器和一個移位寄存器,以便實現(xiàn)CPU輸出→并行→串行→發(fā)送或接收→串行→并行→CPU輸入操作。


串口擴展的方法一般有三種,一是全部應用硬件,由中小集成電路構(gòu)成串口,這種方法已很少使用;二是利用通用I/O口,由軟件來設定波特率;三是應用串行接口器件(如UART、USRT、USART等)來擴展串口,CPU只需通過這些接口器件所提供的接口來編程,就可以實現(xiàn)串行通信。

SCC85C30的性能特點
對一個需進行實時多路并行數(shù)據(jù)處理的來說,選用一種高效可靠的串行通信接口器件是非常重要的。Zilog公司的串行通信控制器(SCC)85C30就是一種高性能的串行通信接口器件,其功能比其它USART(Universal Synchronous Asynchronous Receiver/Transmitter通用異步同步收發(fā)器)強大的多。85C30串行通信控制器(SCC)是一種雙通道、多規(guī)約數(shù)據(jù)通信外圍器件,該芯片為處理各種有效的串行通信規(guī)程提供多功能支持:可起到串-并、并-串的轉(zhuǎn)換器/控制器作用,它在程序控制下可滿足串行通信上廣泛多樣的用途;具有波特率發(fā)生器、數(shù)字鎖相環(huán)和晶體振蕩器,使外部邏輯得到簡化;能以多種方式產(chǎn)生和檢測CRC碼,并可通過多種方式編程來檢查數(shù)據(jù)的完整性,有同時在兩條通道上控制調(diào)制-解調(diào)的能力。在不需要這些控制的用途中,調(diào)制-解調(diào)控制器可作為通用I/O。

85C30的每路信道可存取14個寫寄存器和7個讀寄存器,用戶可進行配置使其能處理全部非同步格式,而與數(shù)據(jù)長度、停止位的數(shù)目或奇偶要求無關(guān)。還能處理所有的同步格式,包括按字符、按字節(jié)的存取規(guī)程。85C30還具有下列功能:通過檢查奇偶位改變規(guī)程;插入或刪除字符,生成CRC,并加以檢查;生成斷點和異常中止碼,并加以檢測;以及其它許多與規(guī)程有關(guān)的功能。

85C30內(nèi)部結(jié)構(gòu)能提供連接多路轉(zhuǎn)換總線和非多路轉(zhuǎn)換總線所必要的全部中斷和控制邏輯。此外還有接口邏輯,用于監(jiān)視調(diào)制解調(diào)器和外圍控制輸入輸出。其控制信號都是通用的,不僅用于調(diào)制解調(diào)控制,而且適用于控制多種外圍設備。數(shù)據(jù)操作和控制聯(lián)接都通過內(nèi)部的讀和寫寄存器進行,這些寄存器經(jīng)編程之后,可使85C30執(zhí)行各種功能(硬件開銷?。?,即在程序排隊之前或之中對寄存器賦值,以決定85C30如何建立一個給定的通信規(guī)程。

85C30采用附加電路支持串行通信。設計人員可以選擇內(nèi)部波特率發(fā)生器,選擇頻率并對85C30中的幾個電路之一的輸出編程??稍诔绦蚩刂葡聦追N標準格式進行編碼和譯碼。另外,還可為DPLL、波特率發(fā)生器接收器和發(fā)送器選擇各種定時部件。

對多個SCC的控制設計
對一個進行實時并行多通道數(shù)據(jù)處理的雙DSP來說,其擴展的串口也必須滿足的實行性要求。串行接口器件性能的好壞以及雙DSP對多個串行通信控制器(SCC)控制的好壞直接影響到系統(tǒng)的整體性能。

雙DSP系統(tǒng)對多個SCC控制,采用4片Zilog公司的SCC(85C30)使雙DSP(TMS320F206)在原有2個異步串口和2個同步串口的基礎上又增加了8個串行口(可根據(jù)需要設定為異步口或設定為同步口)。

85C30是較為復雜的器件,要充分利用其功能,需對其進行合理編程。在編程時需對其諸多寄存器進行操作,這在單個DSP情況下也是較為復雜的。用雙DSP對其控制,以及雙DSP對多SCC的控制情況更為復雜,需解決以下的問題:
(1)對SCC訪問的優(yōu)先權(quán)問題;
(2)數(shù)據(jù)線、地址線、選通控制線的方向問題;
(3)雙DSP相互間握手、時序問題;
(4)兩套總線間干擾的消除問題及總線切換時的誤動作問題;
為解決這些問題,需采取硬件設計和軟件設計相結(jié)合的辦法,使DSP對SCC的控制更可靠,效率更高。
在硬件的設計上:
(1)采用了兩套獨立的數(shù)據(jù)線和地址線,重點解決了讀/寫、片選等切換邏輯的設計問題;
(2)采用雙向三態(tài)總線驅(qū)動器(如74LS245)實現(xiàn)數(shù)據(jù)、地址、控制總線的隔離;
(3)把DSP(TMS320F206)的IO0、IO1、IO2、IO3設置為對SCC的訪問控制線。實現(xiàn)DSP對SCC的分時復用。
在軟件設計上:
(1)對兩個DSP進行了分工,設定DSP1負責接收數(shù)據(jù),DSP2負責發(fā)送數(shù)據(jù);
(2)設定DSP1從第1個SCC開始向后查詢,DSP2從第三個SCC向后查詢,最大限度地降低二者忙閑比,提高了系統(tǒng)的實時性。
(3)把IO0、IO1設定為發(fā)送端口,把IO2、IO3設定為接收端口。IO0-IO3值所表達含義如附表所示。
(4)對SCC分時選通。訪問某一SCC前先查詢IO2、IO3以確定另一DSP是否正在訪問它,若另一DSP不訪問該SCC,則訪問之首先把該SCC的編號通過IO0、IO1發(fā)送給另一DSP;若另一DSP正訪問它,則跳過該SCC,訪問下一SCC,同樣也把該SCC的編號通過IO0、IO1發(fā)送給另一DSP。



關(guān)鍵詞: 擴展 串口 系統(tǒng) DSP

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉