引言
隨著電子技術的發展,數字電路的集成度和性能有了非常大的提高,因此可以在單板上實現復雜的電路功能,本設計就是在TI公司高集成度的TMS320F2812處理器上設計外圍接口電路,實現多路高速ARINC429接口、高速RS422接口、高速RS232接口,由于該款DSP的卓越性能,該接口板具有強大的多路接口通訊實時處理能力,同時由于該接口板的通訊接口都是標準接口,物理結構為PMC底板結構,具有一定的通用性。
系統設計
接口板采用TMS320F2812處理器,對串行數據的接收和發送采用智能控制方式,它通過一個512K(32K×16)雙端口存儲器(DPRAM)實現與主處理機之間的數據交互,雙端口存儲器與主處理機之間為PCI總線接口,物理連接方式為PMC標準插座。模塊功能框圖見圖1。限于篇幅,本文主要介紹局部總線端電路設計,與主機接口端PCI設計另有文章介紹。
圖1 接口板功能框圖
接口板主要由如下功能部分組成:
•處理器電路、數據處理器TMS320F2812,主頻150MHz,集成128K字容量程序FLASH、18K字容量SARAM;
• 雙口RAM IDT70V27,容量為32K×16bit;
• 時鐘和復位電路MAX791;
• 10路全雙工RS422串行接口電路TL16C554;
• 2路全雙工RS232串行接口電路;
• 4收2發ARINC429接口DEI1016A、BD429A;
• PCI總線接口電路PCI9054;
• 邏輯控制電路XC95288XL;
• 提供+5V轉+15V、-15V電路DCP020515DP,負載80mA。
處理器及存儲電路
處理器
處理器選用TI公司的16位TMS320F2812芯片,主頻可達到150MHz。主要特點如下:
• 150MIPS運行速度;
• 集成128K字容量程序FLASH,18K字容量SARAM;
• 56路獨立的可編程多路復用I/O引腳;
• 鎖相環(PLL)模塊;
• 3個32位定時器
• 2個串行通信接口SCI;
• 1個串行外設接口SPI;
• 16路ADC(12bit);
• 2路eCAN接口;
• 3個可屏蔽中斷;
• JTAG接口;
• 哈佛結構。
本接口板在設計中用到TMS320F2812處理器的數據處理功能、存儲器功能、通用IO功能、串行通信功能和JTAG接口。16位地址線A15~A0,16位數據線D15~D0。
TMS320F2812處理器地址空間映像如圖2所示。該接口板地址分配如表1。
圖2 地址映象
存儲電路
在實時系統中,串行數據的采集及交換是影響系統開銷的瓶頸之一,在這類系統中,數據交換要求的通訊速率往往很高。傳統的并行接口和串行接口設計無論在通信速率,還是在可靠性方面都不易滿足要求。而雙端口RAM則是一個較好的實現方案。它具有通訊速率高、接口設計簡單等特點,因而能在這類設計中得到廣泛的應用。
表1 地址分配表
雙端口RAM芯片有兩套完全獨立的數據線、地址線和讀寫控制線,因而可使兩個處理器分時獨立訪問其內部RAM資源。由于兩個CPU同時訪問時的仲裁邏輯電路全部集成在雙端口RAM內部,因而需要實際設計的電路比較簡單。雙端口RAM內一般都有一個總線搶占優先級比較器,只要雙CPU不同時訪問同一存儲單元,那么較先送出地址的CPU將擁有該單元的本次訪問優先權,而另一個CPU的地址與讀寫信號將被屏蔽掉,同時通過“busy”引腳告知該CPU以使之根據需要對該單元重新訪問或撤銷訪問。雙端口RAM的優點是通訊速度快、實時性強、接口比較簡單、兩邊CPU都可主動進行數據傳輸;缺點是成本高,需要克服競爭現象。
共享存儲器選用雙口內存IDT7027,存儲容量為32K×16bit。共享存儲器具有兩組獨立的地址、控制、I/O引腳,允許從任一組引腳發出的信號對內存中的任何位置進行讀或寫的異步訪問。雙口內存IDT7027具有防止雙口競爭的功能,該功能可以免去為避免雙口競爭增加的硬件邏輯,通過使用芯片上的信號量可以獲得芯片的控制權,只有獲權的一組引腳上的信號才能訪問內存,另外通過信號量的使用還可以將雙口內存劃分為大小不同的區。
在此模塊設計中,雙口存儲器一邊由DSP處理器控制,另一邊由PCI總線進行控制,而芯片本身自帶的BUSY通過邏輯設計接READY來實現雙口存儲器產生競爭時的應答。
雙口存儲器讀操作訪問
雙口存儲器的讀操作時序如圖3所示,/CE為讀寫數據操作的片選信號,低電平有效;/OE為輸出控制信號,由系統讀信號控制,低電平有效;/UB、/LB是高/低字節有效控制信號,低電平有效,設計中將這兩信號下拉;R/*W信號在讀操作中保持高電平。
雙口存儲器寫操作訪問
雙口存儲器的寫操作時序如圖4
所示,/CE為寫數據操作的片選信號,低電平有效;/UB、/LB是高/低字節有效控制信號,低電平有效,設計中將這兩信號下拉;R/*W為輸入控制信號,由系統寫信號控制,低電平有效。
雙口存儲器BUSY信號使用及時序
A/B通道對雙口存儲器的某一個單元同時進行訪問時會出現競爭冒險,要避免這種情況的出現必須對訪問信號判斷優先級,IDT7025雙口存儲器通過自身硬件的BUSY信號引腳告知該CPU以使之根據需要對該單元重新訪問或撤消訪問,其操作時序如圖5所示,BUSY信號低電平有效,R/W為讀寫信號。
圖3 讀操作及時序
圖4 寫操作及時序
圖5 讀寫操作時序
時鐘和復位電路
時鐘電路
F2812處理器上有基于PLL的時鐘模塊,為器件及各種外設提供時鐘信號。鎖相環有4位倍頻設置位,可以為處理器提供各種頻率的時鐘。時鐘模塊提供兩種操作模式,如圖6所示。
內部振蕩器:如果使用內部振蕩器,則必須在X1/XCLKIN和X2引腳之間連接一個石英晶體;
外部時鐘:如果使用外部時鐘,可以把時鐘信號直接接到X1/XCLKIN引腳上,X2懸空。
外部XPLLDIS引腳用來選擇系統時鐘源。當XPLLDIS為低電平時,系統直接采用外部時鐘作為系統時鐘;當XPLLDIS為高電平時,外部時鐘經過PLL倍頻后,為系統提供時鐘。系統通過鎖相環控制寄存器來選擇鎖相環的工作模式和倍頻系數,如表2所示。
表2 鎖相環控制寄存器位定義
該接口板采用30M石英晶體提供時鐘,XPLLDIS引腳上拉使能PLL模塊,倍頻選擇最大的XCLKIN×5=150MHz。
復位電路
復位電路會中斷F2812的執行,復位板上資源,同時使處理器從0x3FF000地址開始執行指令序列。F2812的復位可由外部復位管腳引起。
F2812外部復位源采用MAX706芯片進行復位,MAX706復位的產生條件有以下3種情況:
a. 上電復位,當Vcc>4.40V(典型值)時產生復位,并保持200ms復位有效;
b. 掉電復位,當Vcc<4.40V(典型值)時產生復位,此時可防止對存儲器進行錯誤寫入;
c. 手動復位,當手動復位信號有效,產生復位,用于調試。
MAX706的復位信號形成F2812的上電復位輸入,使系統所有資源復位。復位電路如圖7所示。
串行總線處理電路
本模塊串行數據的接收和發送都采用TL16C554協議芯片來完成,RS422和RS232總線傳輸通過不同的接口芯片完成電平轉換,其功能框圖如圖8所示。
圖6 DSP時鐘輸入電路
圖7 復位電路
圖8 串行數據功能實現電路
16C554通過對各個寄存器的編程完成串行數據的初始化及傳輸,在上電初始化時,本模塊將串行數據初始化為數據位8位,停止位1位,無奇偶校驗位,波特率為115.2KBPS,在完成上電BIT后,主機可通過改變雙口存儲器的初始化參數來滿足自身對串行數據格式的約定,16C554各寄存器地址分配如表3,各個寄存器對應的訪問地址為該串行通道分配的基地址加上偏移地址,即:各寄存器訪問地址=BASE+[A2A1A0]16。
表3 協議芯片寄存器地址分配
串行協議芯片通過有效的初始化才能實現串行數據的正確接收和發送,在進行初始化的時候確保串行通道沒有接收和發送數據。其初始化流程如表4所示。
表4 串行協議芯片初始化
控制邏輯電路
控制邏輯電路負責整個DSP數據處理模塊上控制和狀態信號的產生,負責PCI總線時序控制和邏輯譯碼。該邏輯功能由CPLD可編程邏輯器件實現,邏輯描述由VHDL語言完成。控制邏輯電路主要完成以下功能:
a. TMS320F2812總線時序支持電路;
b.系統總線接口時序支持電路;
c.地址譯碼;
d.地址轉換及地址三態控制;
e.實現對數據總線管理邏輯的控制;
f.系統總線復位。
結束語
根據以上原理,我們研制了該智能接口板,通用性強,接口簡單,可以滿足大多數應用條件,經使用證明設計合理,穩定可靠。