TMS320VC5402 DSP的并行I/O引導裝載方法研究
在上述程序中,END標號給出I/O讀入操作結束后所轉移的入口地址,之后轉到61H和62H給出的入口地址執行用戶(hù)程序。第1~4行讀入入口地址;第5?|8行讀入數據塊長(cháng)度;第9~13行讀入數據塊首地址;第14~20行讀入數據塊。為了更好地了解這段程序的工作過(guò)程及其原理,圖2給出了8位并行I/O Bootloader程序流程圖。第21~34行為讀數據子程序,在該程序中,利用了XF和BIO信號與外部I/O進(jìn)行握手聯(lián)絡(luò ),其信號時(shí)序如圖3所示。

3 C5402并行I/O引導裝載方法的實(shí)現
3.1 硬件電路分析
為了滿(mǎn)足C5402 DSP 8位并行I/O Bootloader引導程序的時(shí)序要求,本文利用8031單片機作智能I/O部件,圖4為C5402與8031的連接電路圖。在圖中,U3為TMS320VC5402DSP,U?為8031單片機,U1、U2均為SN74AHC245,單片機系統中的EPROM電路沒(méi)有給出。
U1、U2的DIR引腳接地,數據傳輸方向為B→A。U2的B7~B4和B2~B0接地,B3接DVDD(3.3V),/CE端接系統復位信號,保證了在上電復位期間U2給C5402提供00001000B數據,使其進(jìn)入8位并行I/O引導模式,而當復位信號無(wú)效后,U2的/CE=“1”片選信號無(wú)效而脫離系統。U1的作用是數據緩沖兼作電平轉換器,U1的VCCD端接4.3V,其作用是將8031輸出的TTL電平轉換成5402能接受的CMOS電平;U1的/CE斷接8031的P3.3(/INT)腳,在系統復位直到執行CLR P3.3之前都保持高電平,在此期間U1無(wú)效,保證了U2正常供給5402所需的數據。8031的P3.0(RXD)、P3.1(TXD)作為握手信號,分別與C5402的/BIO和XF相連。JP3、JP4可供用戶(hù)跳線(xiàn)選擇C5402的系統時(shí)鐘以及選擇C5402的運行模式。
3.2 程序設計
根據以上分析,本文設計了如下8031匯編程序。首先使U1的/CE有效,然后等待C5402的XF為低電平,XF=“0”后,使8031的P3.1=“0”即BIO=“0”C5402進(jìn)入等待數據狀態(tài)。在數據送到數據總線(xiàn)之后,使BIO=“1”通知C5402讀取I/O端口數據。程序中,UC定義的代碼前面22個(gè)字節是與C5402的聯(lián)絡(luò )碼,從第23個(gè)字節開(kāi)始才是用戶(hù)程序代碼。
?
?
?
CLR P3.3 ;使U1(AHC245)CE=0
W1: JB P3.0、W1 ;XF=1等待
CLR P3.1 ;使BIO=0
MOV R4、#00H ;初始化變址寄存器
W2: JNB P3.0、W2 ;XF=0等待
MOV DPTR、#UC ;指向用戶(hù)代碼首地址
MOV A、R4 ;變址送A
MOVC A、@A+DPTR ;取用戶(hù)代碼
MOV P1、A ;送到數據總線(xiàn)
SETB P3.1 ;使BIO=1
W3: JB P3.0、W3 ;XF=1等待
CLR P3.1 ;使BIO=0
INC R4 ;指向下一代碼
CJNE R4、#0FFH、W2 ;未完重來(lái)
UC: DB 08H、0AAH、00H、00H
DB 00H、00H、00H、00H
DB 00H、80H、00H、25H
DB 00H、00H、00H、80H
DB 0F4H、95H、0E9H、27H
DB 0F3H、10H ;以上為與C5402的聯(lián)絡(luò )碼用戶(hù)程序代碼
TMS320VC5402 DSP是C54X家族乃至TI的DSP家族的最新成員,正以其極高的性?xún)r(jià)比被越來(lái)越多的用戶(hù)所接受。本文利用廉價(jià)、通用的8031單片機實(shí)現C5402 8位并行I/O Bootloader功能,一方面,可以很好地解決快速DSP與慢速I(mǎi)/O(EPROM)之間的數據傳輸問(wèn)題;另一方面,C5402 Bootloader成功后,8031還可作為“協(xié)助理器”使用,從而極大提高了系統的靈活性和實(shí)用性。具有廣闊的應用前景。
評論