基于DSP+ARM架構的協議轉換器設計
在該協議轉換器中,DSP通過EMIFA接口連接到FPGA,實現DSP與FPGA Block RAM的無縫連接,從而使得DSP與FPGA之間的通信問題轉化為DSP對其EMIFA外設的訪問,達到了提高系統實時性的目的。為了保持FPGA與DSP之間的同步,FPGA的時鐘直接由DSP內部的鎖相環提供。DSP處理器TMS320C6416與FPGA的接口示意圖如圖2所示。
圖2 TMS320C64l6與FPGA接口示意圖
2.2 S3C451OB及其外圍電路設計
ARM芯片選用Samsung公司的S3C4510B。S3C4510B是基于以太網應用的高性價比16/32 bit RISC微控制器,內含一個由ARM公司設計的16/32 bit ARMTTDMI RISC處理器核。S3C4510B提供了一套比較完整的通用的外圍設備,從而使得整個系統消耗最小。正是因為它具有很多常用的功能模塊,所以也免去了添加配置附加設各的麻煩。芯片上集成的功能主要包括以下幾個方面田:3.3 V ARM內核和3.3 V外部I/O,具有50 MHz時鐘頻率的微處理器;8 KB的Cache/SRAM;一個10/100 Mb/s以太網控制器,MII接口;2個HDLC通道,每個通道可支持10 Mb/s;2個UART通道,2個DMA通道,2個32 bit定時/計數器;1個通道IIC接口,18個可編程I/O口;中斷控制器,支持21個中斷源,包括4個外部中斷;支持SDRAM、SRAM、Flash等;具有擴展外部總線和JTAG接口,支持軟件開發及硬件調試。
本設計選用ARM微控制器S3C4510B是因其集成有以太網控制器和極強的外圍擴展能力。S3C4510B以及其外圍芯片Flash、SDRAM組成了整個系統的核心,負責控制和協調各模塊工作,并實現與遠程上位機的以太網通信。本設計對S3C4510B內部SDRAM和ROM進行了擴充。采用兩片SDRAM芯片HY57V641620并聯構建32 bit的SDRAM存儲系統;采用一片Flash芯片HY29LV160構建16 bit的Flash存儲器系統。
2.2.1 ARM與DSP的接口電路
由于ARM微控制器要實現整個系統的協調控制和網絡功能,DSP處理器要執行復雜計算,因此需要實現ARM和DSP之間的數據交換。從某種程度上來說,ARM和DSP之間數據交換的速度決定了整個系統的運行速度和性能。
DSP處理器TMS320C6416集成了一個16/32 bit寬的主機接口HPI,HPI通過復位時的自舉和器件配置引腳HD5選擇采用HPI16或HPI32。UPI具有兩條地址線HCNTRL[1:0],負責對HPI的內部寄存器尋址。HPI只有三個32 bit內部寄存器,分別是控制寄存器HPIC、地址寄存器HPIA和數據寄存器HPID。只需對上述三個寄存器進行相應的讀寫操作,就能完成對DSP內存空間的訪問。
由于ARM微控制器S3C45l0B中沒有完全符合DSP處理器TMS320C6416 HPI接口時序的外部接口可以直接使用,因此選用S3C4510B中時序最接近HPI接口時序的外部I/0接口與TMS320C6416進行連接。TMS320C6416與S3C4510B的接口示意圖如圖3所示。由圖3可知,TMS320C6416與S3C4510B通過單獨的32 bit數據線HD0~HD31和8條控制線進行連接。S3C4510B通過HPI訪問DSP內部的RAM以及其他一些外部資源。在整個ARM與DSP通過HPI進行通信和數據交換的過程中,除了中斷ARM和清除ARM發過來的中斷需要DSP本身參與外,其他操作中DSP都處于被動地位。所以對于ARM來說,DSP就相當于一片外接的SDRAM。
評論