999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于USB總線的ADSP-TS101S鏈路口加載

2012-02-15 03:29:38崔炳喆
電子設(shè)計(jì)工程 2012年10期
關(guān)鍵詞:程序

崔炳喆

(1.中國空空導(dǎo)彈研究院 河南 洛陽 471009;2.航空制導(dǎo)武器航空科技重點(diǎn)實(shí)驗(yàn)室 河南 洛陽 471009)

ADSP-TS101S(以下簡稱TS101)是美國ADI公司推出的TigerSHARC系列數(shù)字信號處理器中一款高性能的靜態(tài)超標(biāo)量處理器,它專為大規(guī)模信號處理任務(wù)和通信應(yīng)用進(jìn)行了結(jié)構(gòu)上的優(yōu)化,廣泛應(yīng)用于雷達(dá)等高速實(shí)時(shí)信號處理系統(tǒng)[1]。

將程序代碼加載到DSP內(nèi)部程序空間時(shí),通常采用開發(fā)器的JTAG接口將執(zhí)行文件加載到DSP內(nèi)存里進(jìn)行調(diào)試;在硬件仿真完成后,又通過JTAG接口將生成的ldr文件燒寫到與TS101相連的FLASH里固化。然而在很多情況下,使用開發(fā)器加載或固化程序很不方便,甚至無法實(shí)現(xiàn),因此需要開發(fā)一種脫離開發(fā)器的TS101加載方式。基于這種需求,設(shè)計(jì)實(shí)現(xiàn)了基于USB總線的TS101鏈路口加載,只需一根USB線纜,即可實(shí)現(xiàn)TS101的程序在線重加載和固化。

1 Link Port協(xié)議

鏈路口(Link Port)是TS101的一種高速互聯(lián)接口,它的通信是通過一個(gè)8位的數(shù)據(jù)總線和3個(gè)控制信號進(jìn)行的,有4組LINK管腳[2]。其中LxCLKIN和LxCLKOUT是時(shí)鐘/應(yīng)答輸入和輸出管腳;LxDAT[7:0]-數(shù)據(jù)輸入輸出總線;LxDIR是LINK的方向指示信號。Link Port的最簡單的連接方式(如圖1所示)用了 LxCLKIN,LxCLKOUT,和 LxDAT。 每個(gè) ADSPTS101 DSP的LxCLKOUT與其它的LxCLKIN相連,兩片TigerSHARC101 DSP芯片之間用LxDAT數(shù)據(jù)總線相連。

圖1 最小的Link Port配置-無緩沖Fig.1 Minimum configuration of Link Port-without buffer

Link Port的最小傳輸單位是8個(gè)時(shí)鐘周期,數(shù)據(jù)總量為4倍字長(16字節(jié),在時(shí)鐘的雙沿觸發(fā))。傳輸被發(fā)送端初始化,只有當(dāng)接收端設(shè)置LxCLKOUT(對于發(fā)送端為LxCLKIN)為高電平,發(fā)送才能被初始化為一次傳輸。LxCLKOUT為高電平意味著接收端為接收模式并且接收緩沖器為空。

2 TS101的軟件設(shè)計(jì)流程及加載引導(dǎo)方式

TS101的軟件設(shè)計(jì)流程如圖 2所示。其中,鏈接描述文件(.LDF)定義了整個(gè)系統(tǒng)的存儲器配置和程序中數(shù)據(jù)及代碼的具體存放位置。加載核文件(.DXE)是指加載引導(dǎo)核程序,其大小為32 bit,放在加載文件的起始部分,其功能是用來實(shí)現(xiàn)TS101的正確引導(dǎo)。ADI公司在其DSP集成開發(fā)環(huán)境Visual DSP++安裝目錄的ldr子目錄下提供了標(biāo)準(zhǔn)加載核文件及相應(yīng)的源程序(.ASM)和鏈接描述文件。一般可直接使用提供的標(biāo)準(zhǔn)加載核文件或?qū)ζ湎鄳?yīng)的源程序進(jìn)行簡單修改,重新編譯鏈接生成所需的加載核文件。加載文件是由引導(dǎo)加載器(elfloader)將可執(zhí)行文件進(jìn)行一定的格式變化,并在起始位置附加上加載核文件生成的[3]。

圖2 TS101的程序設(shè)計(jì)流程Fig.2 Program design process of TS101

加載程序的外部設(shè)備可以直接向鏈路口緩沖寫入數(shù)據(jù),只要寫入速率不超過DSP的主時(shí)鐘頻率即可。此處的外部設(shè)備采用計(jì)算機(jī)的USB總線。鑒于FPGA在數(shù)字電路系統(tǒng)設(shè)計(jì)中具有可靠性高、設(shè)計(jì)靈活、易于開發(fā)等優(yōu)點(diǎn),本文采用FPGA進(jìn)行Link Port與USB的接口設(shè)計(jì),使USB的輸出滿足Link Port的協(xié)議,以實(shí)現(xiàn)DSP的鏈路口加載。

3 USB總線及其與Link Port的接口

采用FPGA實(shí)現(xiàn)基于USB總線的TS101的Link Port加載結(jié)構(gòu)框圖如圖 3所示。

圖3 FPGA實(shí)現(xiàn)基于USB總線的TS101的Link Port加載結(jié)構(gòu)框圖Fig.3 Diagram for Link Port loading of TS101 based on USB

3.1 Link Port發(fā)送模塊

ADI公司網(wǎng)站上有推薦的實(shí)現(xiàn)TS101的Link Port收發(fā)協(xié)議的VHDL代碼,但是比較復(fù)雜,鑒于本文只需要使用Link Port的發(fā)送功能,且無需緩沖,故根據(jù)圖 1所示的最小Link Port配置編寫代碼,實(shí)現(xiàn)Link Port發(fā)送功能。基于FPGA的TS101的Link Port發(fā)送模塊結(jié)構(gòu)框圖如圖4所示。

圖4 基于FPGA的TS101的Link Port發(fā)送模塊結(jié)構(gòu)框圖Fig.4 Diagram for sending module of Link Port based on FPGA

圖4 中的FIFO負(fù)責(zé)對輸出數(shù)據(jù)進(jìn)行緩沖,當(dāng)輸入數(shù)據(jù)的速率高于Link Port時(shí)鐘的頻率時(shí),Link Port的數(shù)據(jù)可以先存在FIFO數(shù)據(jù)中,當(dāng)存入一定數(shù)量以后,再以Link Port的時(shí)鐘把數(shù)據(jù)讀出。當(dāng)輸入數(shù)據(jù)的速率低于Link Port的時(shí)鐘數(shù)率的時(shí)候,Link Port的數(shù)據(jù)同樣可以先存在FIFO中,當(dāng)存入整數(shù)倍的4字?jǐn)?shù)據(jù)量后,再以Link Port的時(shí)鐘的數(shù)率發(fā)送出去[5]。

圖4中的控制模塊是Link Port發(fā)送模塊的關(guān)鍵模塊,主要負(fù)責(zé)產(chǎn)生讀FIFO的讀使能信號和Link Port的發(fā)送時(shí)鐘。根據(jù)Link Port發(fā)送的時(shí)序特點(diǎn),使用狀態(tài)機(jī)來實(shí)現(xiàn)數(shù)據(jù)流的控制。當(dāng)Link Port沒有工作時(shí),保持等待狀態(tài)。需要傳輸數(shù)據(jù)時(shí),首先檢查LxCLKIN是否為高電平,若是,則說明接收端為接收模式并且接收緩沖器為空,可以初始化一次發(fā)送,否則要等待。開始傳輸數(shù)據(jù)時(shí),數(shù)據(jù)首先被寫入FIFO中,當(dāng)判斷到FIFO的輸出信號EMPTY為高時(shí),將處于默認(rèn)高電平的LxCLKOUT信號拉低,在經(jīng)過6個(gè)時(shí)鐘周期的低電平后(在此期間檢測LxCLKIN是否一直為高電平),LxCLKOUT拉高形成第一個(gè)LINK時(shí)鐘上升沿,這個(gè)時(shí)候應(yīng)該在數(shù)據(jù)線上產(chǎn)生FIFO內(nèi)的第一個(gè)輸出數(shù)據(jù)。LxCLKOUT下一周期拉低,第2個(gè)數(shù)據(jù)輸出,這樣經(jīng)過16個(gè)時(shí)鐘周期以后表示一次4字傳輸完畢。然后檢測FIFO中剩余的數(shù)據(jù)FIFO_RDATA_COUNT,若大于4則繼續(xù)上面的傳輸操作,否則,說明FIFO中只剩最后一個(gè)4字,這次傳輸LxCLKOUT的最后一個(gè)時(shí)鐘上升沿產(chǎn)生以后,不再變低,一直保持高電平。然后,把本模塊中的所有臨時(shí)寄存器和FIFO復(fù)位。在產(chǎn)生完足夠長度脈沖長度的清零信號后狀態(tài)機(jī)重新進(jìn)入等待狀態(tài)。

3.2 USB接口模塊

USB接口模塊采用FPGA控制USB協(xié)議解析芯片來實(shí)現(xiàn)。其實(shí)現(xiàn)框圖如圖 5所示[6]。

圖5 基于FPGA的USB接口設(shè)計(jì)Fig.5 Diagram for USB interface based on FPGA

本方案中,USB2.0協(xié)議解析芯片選用CYPRESS公司的CY7C68013A,它將一個(gè)USB外設(shè)所需的所有功能集成在一塊芯片上[8]。芯片提供了3種傳輸數(shù)據(jù)的方式,文中選擇從FIFO (Slave FIFO)模式[7]。在 Slave FIFO 模式下,8051微控制器不在數(shù)據(jù)的傳輸通路上,只負(fù)責(zé)設(shè)備的初始化和相應(yīng)主機(jī)的控制傳輸請求,高速大批量的數(shù)據(jù)傳輸通過外部的主控者通過Slave FIFO接口直接將數(shù)據(jù)填充到FX2LP的端點(diǎn)中(或者從里面讀出),然后由硬件控制將數(shù)據(jù)傳輸給主機(jī)。

Slave FIFO的讀寫方式有兩種:同步讀寫以IFCLK為時(shí)鐘,IFCLK可以外部輸入,也可以使用內(nèi)部的30 MHz或者48 MHz時(shí)鐘;異步讀寫時(shí)IFCLK信號無效,只需要提供讀寫信號即可進(jìn)行數(shù)據(jù)讀寫。本文選擇同步讀寫。

FPGA采用Xilinx公司的XC3S1000。FPGA在其內(nèi)部建立2個(gè)雙口RAM,來緩存收發(fā)數(shù)據(jù);并與協(xié)議解析芯片的各控制信號相連,實(shí)現(xiàn)對其的讀寫控制。文中僅使用這個(gè)芯片的接收邏輯實(shí)現(xiàn)加載文件的USB總線傳輸,發(fā)送邏輯只用來做輔助調(diào)試和狀態(tài)監(jiān)測。

3.3 LINK口發(fā)送模塊與USB接口模塊之間的接口

USB接口除用于加載TS101外,還可用于TS101正常工作時(shí)與PC機(jī)的數(shù)據(jù)傳輸,故對于不同意義的下行信息,需要根據(jù)其功能做不同處理。

上位機(jī)向FX2LP發(fā)送數(shù)據(jù)時(shí),是通過將需要發(fā)送的數(shù)據(jù)打包(每包的大小由固件程序決定),每隔固定一段時(shí)間向下發(fā)送一包實(shí)現(xiàn)的。在這里,每包數(shù)據(jù)包含512個(gè)字節(jié),其中前8個(gè)字節(jié)用來當(dāng)幀頭,后504個(gè)為需要下傳的數(shù)據(jù)。可通過幀頭的不同來區(qū)分下行信息的不同意義。其具體含義如表1所示。

表1 幀頭含義Tab.1 Header meaning

FPGA輪詢每包數(shù)據(jù)的幀頭,如果是TS101與PC機(jī)交互數(shù)據(jù),則送到雙口RAM中;如果是TS101加載數(shù)據(jù),則送到LINK口發(fā)送模塊中;如果是/BMS拉高(低)指令,則通過相應(yīng)的管腳拉高(低)/BMS;如果是復(fù)位TS101指令,則通知復(fù)位邏輯對TS101進(jìn)行復(fù)位,同時(shí)復(fù)位數(shù)據(jù)緩沖FIFO。

在實(shí)現(xiàn)基于USB總線的TS101的LINK加載時(shí),上位機(jī)將DSP加載文件(.ldr文件)打包后,通過USB線纜向FX2LP發(fā)送。.ldr文件的大小不一定為504字節(jié)的整倍數(shù),因此最后一包數(shù)最后可能有很多0。必須把這些0去掉,否則可能在加載TS101時(shí)導(dǎo)致其死機(jī)。為解決該問題,在幀頭定義中,用幀頭2來區(qū)分是否為最后一包數(shù),如果不是最后一包數(shù),上位機(jī)打包時(shí),幀頭2賦為01F8(即504),如果是最后一包數(shù),則把將有效數(shù)據(jù)長度賦給幀頭2。FPGA不斷將TS101加載數(shù)據(jù)送到LINK口發(fā)送模塊中,當(dāng)發(fā)現(xiàn)是最后一包數(shù)據(jù)時(shí),讀取有效數(shù)據(jù)的長度,并啟動一個(gè)計(jì)數(shù)器,當(dāng)計(jì)到該長度時(shí),讓FIFO讀使能失效,則只有l(wèi)dr文件的有效數(shù)據(jù)被加載到TS101中。

4 TS101程序在線重加載和固化的實(shí)現(xiàn)

首先通過上位機(jī)發(fā)送/BMS拉高指令,讓FPGA將TS101的/BMS管腳拉高,然后發(fā)送復(fù)位TS101指令,復(fù)位TS101和FIFO;之后,發(fā)送/BMS拉低指令,讓FPGA將TS101的/BMS管腳拉低,最后,將ldr文件打包為TS101加載數(shù)據(jù)包并向下發(fā)送。發(fā)送完畢后,TS101即可運(yùn)行該程序。

若要實(shí)現(xiàn)TS101程序的固化,則可將要燒寫的程序生成為ASCII格式的ldr文件,轉(zhuǎn)化為.dat格式,通過include指令編譯到EPROM(FLASH)的燒寫程序中,生成為Link加載ldr文件,通過USB總線進(jìn)行加載。燒寫完成后,可通過閃燈或通過USB總線上傳狀態(tài)信息來指示燒寫結(jié)果。

5 結(jié)束語

文中提出的基于USB的TS101鏈路口加載方法成功應(yīng)用于某雷達(dá)信號處理平臺的程序加載,其功能驗(yàn)證是通過使用本方法加載各種DSP應(yīng)用程序并進(jìn)行功能測試來完成的。使用該方案能穩(wěn)定可靠的實(shí)現(xiàn)TS101程序的重加載,并且能對與之相連的FLASH芯片AT29LV040A進(jìn)行成功燒寫。

[1]Analog Devices, Inc.,ADSP-TS101 TigerSHARC Processor Programming Reference (Revision 1.1, February 2005)[M].USA:Analog Devices, Inc.,2005.

[2]劉書明,蘇濤,羅軍輝.TigerSHARCDSP應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2004.

[3]劉書明.ADI DSP應(yīng)用技術(shù)集錦[M].北京:電子工業(yè)出版社,2009.

[4]Lerner B.ADSP-TS101STigerSHARCProcessor Boot Loader Kernels Operation[M].USA:Analog Devices, Inc.,2003.

[5]蘇濤,蔡建隆,何學(xué)輝.DSP接口電路設(shè)計(jì)與編程[M].西安:西安電子科技大學(xué)出版社,2003.

[6]張弘.USB接口設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2002.

[7]Cypress Semiconductor Corporation.CY7C68013A EZ-USB FX2LP USB Microcontroller DataSheet[M].USA:Cypress Semiconductor Corporation,2006.

[8]美國邁舍爾公司.USB系統(tǒng)體系[M].2版.孟文,譯.北京:中國電力出版社,2003.

[9]Cypress Semiconductor Corporation.EZ-USB FX2 Manual Technical Reference [M].USA:Cypress Semiconductor Corporation,2002.

[10]錢峰.EZ-USB FX2單片機(jī)原理、編程及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2004.

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
基于VMM的程序行為異常檢測
偵查實(shí)驗(yàn)批準(zhǔn)程序初探
我國刑事速裁程序的構(gòu)建
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 国产H片无码不卡在线视频| 亚洲手机在线| 国产精品欧美日本韩免费一区二区三区不卡 | 尤物精品国产福利网站| 在线视频亚洲色图| 99999久久久久久亚洲| 国产资源站| 无码中文字幕乱码免费2| 国产亚洲精久久久久久无码AV| 国产日韩AV高潮在线| 欧美日本激情| 国产精品视频白浆免费视频| 国产无码性爱一区二区三区| 自拍偷拍一区| 国产黑人在线| 2021天堂在线亚洲精品专区| 朝桐光一区二区| 亚洲免费黄色网| 怡红院美国分院一区二区| 国产91全国探花系列在线播放| 国产91丝袜在线播放动漫| 精品91视频| 天堂成人在线| 无码丝袜人妻| 色妞www精品视频一级下载| 在线精品视频成人网| 2020亚洲精品无码| 国产在线观看高清不卡| 99在线观看免费视频| 伊人色婷婷| 一级爆乳无码av| 四虎永久在线视频| 一级爆乳无码av| 久久情精品国产品免费| 日韩av电影一区二区三区四区 | 欧美午夜网| 伊人色综合久久天天| 亚洲成aⅴ人片在线影院八| 九九九久久国产精品| 伊人久久综在合线亚洲2019| 亚洲日韩国产精品综合在线观看| 99视频精品全国免费品| 深爱婷婷激情网| 91在线丝袜| 国产成人综合网| 亚洲一级无毛片无码在线免费视频 | 欧美一区中文字幕| 日韩精品亚洲人旧成在线| 精品久久高清| 中美日韩在线网免费毛片视频| 大陆精大陆国产国语精品1024 | 欧美人与性动交a欧美精品| 亚洲性日韩精品一区二区| 99尹人香蕉国产免费天天拍| 精品国产福利在线| 亚洲欧美在线精品一区二区| 亚洲欧美日韩动漫| 久久青草免费91线频观看不卡| 国产在线精品99一区不卡| 精品免费在线视频| 成人精品免费视频| 国产成人久久综合一区| 在线无码九区| 国产另类视频| 欧美日韩亚洲综合在线观看| 韩日免费小视频| 四虎亚洲国产成人久久精品| 国产美女免费| 亚洲欧美综合另类图片小说区| 国产成人精品一区二区三区| 国产麻豆福利av在线播放| 亚洲资源在线视频| 欧美日韩国产高清一区二区三区| 亚洲免费黄色网| 亚洲天堂精品视频| 国产在线啪| 亚洲免费黄色网| 亚洲日本一本dvd高清| 国产精品妖精视频| 亚洲区欧美区| 视频二区亚洲精品| 欧美激情第一欧美在线|