雙CPU之間的數據通信實(shí)現
1 引言
數字信號處理器(DSP)是一種適合于實(shí)現各種數字信號處理運算的微處理器,具有下列主要結構特點(diǎn):(1)采用改進(jìn)型哈佛(Harvard)結構,具有獨立的程序總線(xiàn)和數據總線(xiàn),可同時(shí)訪(fǎng)問(wèn)指令和數據空間,允許實(shí)際在程序存儲器和數據存儲器之間進(jìn)行傳輸;(2)支持流水線(xiàn)處理,處理器對每條指令的操作分為取指、譯碼、執行等幾個(gè)階段,在某一時(shí)刻同時(shí)對若干條指令進(jìn)行不同階段的處理;(3)片內含有專(zhuān)門(mén)的硬件乘法器,使乘法可以在單周期內完成;(4)特殊的指令結構和尋址方式,滿(mǎn)足數字信號處理FFT、卷積等運算要求;(5)快速的指令周期,能夠在每秒鐘內處理數以千萬(wàn)次乃至數億次定點(diǎn)或浮點(diǎn)運算;(6)大多設置了單獨的DMA總線(xiàn)及其控制器,可以在基本不影響數字信號處理速度的情況下進(jìn)行高速的并行數據傳送。
由一片DSP加上存儲器、模/數轉換單元和外設接口就可以構成一個(gè)完整的控制系統,但這種方案要達到高速實(shí)時(shí)控制是不可行的。因為一個(gè)實(shí)時(shí)控制系統一般需要完成數據采集、模/數轉換、分析計算、數/模轉換、實(shí)時(shí)過(guò)程控制以及顯示等任務(wù),單靠一片DSP來(lái)完成這些工作勢必會(huì )大大延長(cháng)系統對控制對象的控制周期,從而影響整個(gè)系統的性能。所以我們添加一個(gè)CPU,負責數據采集、模/數轉換、過(guò)程控制以及人機接口等任務(wù),使DSP專(zhuān)注于系統控制算法的實(shí)現,充分利用它的高速數據處理能力。從性能價(jià)格比的角度出發(fā),這個(gè)CPU采用8位的51系列單片機。這時(shí),兩個(gè)CPU之間的數據共享就成了一個(gè)重要的問(wèn)題。
采用雙口RAM(簡(jiǎn)稱(chēng)DRAM)是解決CPU之間的數據共享的有效辦法。與串行通信相比,采用雙口RAM不僅數據傳輸速度高,而且抗干擾性能好。在筆者實(shí)驗室研制的電力有源濾波器中,選用了TI公司的第三代DSP芯片TMS320C32和51系列單片機89C52作為控制系統的CPU。兩個(gè)CPU之間通過(guò)雙口RAM CY7C133完成數據交換。但在實(shí)際使用過(guò)程中遇到了89C52 與雙口RAM總線(xiàn)寬度不匹配的問(wèn)題,需要進(jìn)行接口電路的設計。
2 雙口RAM CY7C133的內部結構和功能
CY7C133是CYPRESS公司研制的高速2K×16CMOS雙端口靜態(tài)RAM,具有兩套相互獨立、完全對稱(chēng)的地址總線(xiàn)、數據總線(xiàn)和控制總線(xiàn),采用68腳 PLCC封裝形式,最大訪(fǎng)問(wèn)時(shí)間可以為25/35/55 ns。采用主從模式可以方便地將數據總線(xiàn)擴展成32位或更寬。各引腳的功能如表1所示,內部功能框圖如圖1所示。
CY7C133允許兩個(gè)CPU同時(shí)讀取任何存儲單元(包括同時(shí)讀同一地址單元),但不允許同時(shí)寫(xiě)或一讀一寫(xiě)同一地址單元,否則就會(huì )發(fā)生錯誤。雙口RAM中引入了仲裁邏輯(忙邏輯)電路來(lái)解決這個(gè)問(wèn)題:當左右兩端口同時(shí)寫(xiě)入或一讀一寫(xiě)同一地址單元時(shí),先穩定的地址端口通過(guò)仲裁邏輯電路優(yōu)先讀寫(xiě),同時(shí)內部電路使另一個(gè)端口的信號有效,并在內部禁止對方訪(fǎng)問(wèn),直到本端口操作結束。BUSY信號可以作為中斷源指明本次操作非法。在主從模式中,主芯片的信號接上拉電阻作為輸出,從芯片的信號作為寫(xiě)禁止輸入。
3 DSP、單片機與雙口RAM之間的接口電路
89C52的地址總線(xiàn)寬度為16位,數據總線(xiàn)為8位;TMS320C32的數據總線(xiàn)寬度為32位,地址總線(xiàn)寬度為24位。而CY7C133的數據總線(xiàn)寬度為16位,地址總線(xiàn)寬度為11位,所以TMS320C32與雙口RAM的接口并無(wú)特別之處,但是89C52與雙口RAM之間的接口電路中就需要對89C52進(jìn)行總線(xiàn)擴展了。具體做法是利用鎖存器74HC373的鎖存功能,通過(guò)對其使能信號的控制,進(jìn)行分時(shí)讀寫(xiě),實(shí)現數據總線(xiàn)的擴展,即利用鎖存器作為虛擬總線(xiàn)。具體的讀寫(xiě)過(guò)程、讀寫(xiě)信號及鎖存器使能信號的產(chǎn)生將在下面詳細說(shuō)明。DSP、單片機與雙口RAM之間的接口電路如圖2所示。

通信相關(guān)文章:通信原理
上拉電阻相關(guān)文章:上拉電阻原理
評論