新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > DSP與單片機高速通信實現的方案

        DSP與單片機高速通信實現的方案

        作者: 時間:2012-06-16 來源:網絡 收藏

         1引言

        本文引用地址:http://www.104case.com/article/154640.htm

          數字信號處理器()是一種適合于各種數字信號處理運算的微處理器,具有下列主要結構特點:(1)采用改進型哈佛(Harvard)結構,具有獨立的程序總線和數據總線,可同時訪問指令和數據空間,允許實際在程序存儲器和數據存儲器之間進行傳輸;(2)支持流水線處理,處理器對每條指令的操作分為取指、譯碼、執行等幾個階段,在某一時刻同時對若干條指令進行不同階段的處理;(3)片內含有專門的硬件乘法器,使乘法可以在單周期內完成;(4)特殊的指令結構和尋址方式,滿足數字信號處理FFT、卷積等運算要求;(5)快速的指令周期,能夠在每秒鐘內處理數以千萬次乃至數億次定點或浮點運算;(6)大多設置了單獨的DMA總線及其控制器,可以在基本不影響數字信號處理速度的情況下進行的并行數據傳送。

          由一片加上存儲器、模/數轉換單元和外設接口就可以構成一個完整的控制系統,但這種要達到實時控制是不可行的。因為一個實時控制系統一般需要完成數據采集、模/數轉換、分析計算、數/模轉換、實時過程控制以及顯示等任務,單靠一片來完成這些工作勢必會大大延長系統對控制對象的控制周期,從而影響整個系統的性能。所以我們添加一個CPU,負責數據采集、模/數轉換、過程控制以及人機接口等任務,使DSP專注于系統控制算法的,充分利用它的數據處理能力。從性能價格比的角度出發,這個CPU采用8位的51系列。這時,兩個CPU之間的數據共享就成了一個重要的問題。

          采用雙口RAM(簡稱DRAM)是解決CPU之間的數據共享的有效辦法。與串行相比,采用雙口RAM不僅數據傳輸速度高,而且抗干擾性能好。在筆者實驗室研制的電力有源濾波器中,選用了TI公司的第三代DSP芯片TMS320C32和51系列89C52作為控制系統的CPU。兩個CPU之間通過雙口RAMCY7C133完成數據交換。但在實際使用過程中遇到了89C52與雙口RAM總線寬度不匹配的問題,需要進行接口電路的設計。

          2雙口RAMCY7C133的內部結構和功能

          CY7C133是CYPRESS公司研制的高速2K×16CMOS雙端口靜態RAM,具有兩套相互獨立、完全對稱的地址總線、數據總線和控制總線,采用68腳PLCC封裝形式,最大訪問時間可以為25/35/55ns。采用主從模式可以方便地將數據總線擴展成32位或更寬。各引腳的功能如表1所示,內部功能框圖如圖1所示。

          

          CY7C133允許兩個CPU同時讀取任何存儲單元(包括同時讀同一地址單元),但不允許同時寫或一讀一寫同一地址單元,否則就會發生錯誤。雙口RAM中引入了仲裁邏輯(忙邏輯)電路來解決這個問題:當左右兩端口同時寫入或一讀一寫同一地址單元時,先穩定的地址端口通過仲裁邏輯電路優先讀寫,同時內部電路使另一個端口的信號有效,并在內部禁止對方訪問,直到本端口操作結束。BUSY信號可以作為中斷源指明本次操作非法。在主從模式中,主芯片的信號接上拉電阻作為輸出,從芯片的信號作為寫禁止輸入。

          3DSP、與雙口RAM之間的接口電路

          89C52的地址總線寬度為16位,數據總線為8位;TMS320C32的數據總線寬度為32位,地址總線寬度為24位。而CY7C133的數據總線寬度為16位,地址總線寬度為11位,所以TMS320C32與雙口RAM的接口并無特別之處,但是89C52與雙口RAM之間的接口電路中就需要對89C52進行總線擴展了。具體做法是利用鎖存器74HC373的鎖存功能,通過對其使能信號的控制,進行分時讀寫,數據總線的擴展,即利用鎖存器作為虛擬總線。具體的讀寫過程、讀寫信號及鎖存器使能信號的產生將在下面詳細說明。DSP、單片機與雙口RAM之間的接口電路如圖2所示。

          

          TMS320C32分配給雙口RAM的地址空間為0x800000h~0x8007FFh。通過三八譯碼器74HC138對A20~A23和STRB進行譯碼,給出雙口RAM的片選信號CER。89C52分配給雙口RAM的地址空間為0x1000h~0x1FFFh。通過二四譯碼器74HC139對A13~A15進行譯碼產生雙口RAM的片選信號CEL。雙口RAM每邊都有兩個讀/寫控制信號,分別控制高位字節和低位字節的讀/寫,在使用時可以根據需要分別對數據的高位和低位進行寫入操作。在圖2所示接口電路中,兩邊的兩個讀/寫控制信號分別被連接在一起,也就是說此時雙口RAM的讀寫都是同時讀寫16位數據。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大同市| 建德市| 武夷山市| 合川市| 南康市| 内丘县| 赤壁市| 洛隆县| 句容市| 大关县| 文安县| 苍梧县| 三穗县| 克拉玛依市| 琼海市| 镇康县| 苏尼特右旗| 南丹县| 仲巴县| 怀来县| 保定市| 平利县| 民乐县| 邵东县| 资溪县| 三河市| 贵德县| 松滋市| 张家口市| 定西市| 郧西县| 兰西县| 南郑县| 富裕县| 曲靖市| 和平区| 明溪县| 宁明县| 罗平县| 弥勒县| 南投县|