久久久91-久久久91精品国产一区二区-久久久91精品国产一区二区三区-久久久999国产精品-久久久999久久久精品

ABB
關(guān)注中國(guó)自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
CAIAC 2025
2025工業(yè)安全大會(huì)
OICT公益講堂
當(dāng)前位置:首頁(yè) >> 案例 >> 案例首頁(yè)

案例頻道

TMS320F2407A DSP芯片的USB接口實(shí)現(xiàn)
  • 企業(yè):控制網(wǎng)    
  • 點(diǎn)擊數(shù):2191     發(fā)布時(shí)間:2006-08-06 11:02:29
  • 分享到:
介紹了TMS320F2407A DSP芯片上USB接口的實(shí)現(xiàn),DSP與PC之間的高速通信一直是DSP應(yīng)用的關(guān)鍵問(wèn)題,本文分析了PC與DSP通過(guò)USB接口通信的原理,使用AN2131Q芯片實(shí)現(xiàn)了USB接口,說(shuō)明了軟件和硬件設(shè)計(jì)的框架。
        DSP即數(shù)字信號(hào)處理器,由于其采用特殊的軟硬件結(jié)構(gòu)特別適合于數(shù)字信號(hào)處理運(yùn)算,己成為通信、計(jì)算機(jī)、消費(fèi)電子、自動(dòng)控制等領(lǐng)域的基礎(chǔ)器件。DSP將是未來(lái)集成電路中發(fā)展最快的電子產(chǎn)品。
        USB(Universal Serial Bus)即通用串行總線,是一種高速的接口技術(shù),它的主要特點(diǎn)是傳輸速度高、支持熱拔插并且最多同時(shí)支持127個(gè)外設(shè)等,USB1.1的理論速度可以達(dá)到12Mb/s,USB2.0的速度可以達(dá)到480Mb/s,可以很好的解決嵌入式系統(tǒng)與PC機(jī)之間大數(shù)據(jù)量的傳輸,成為應(yīng)用極為廣泛的PC機(jī)與外圍設(shè)備之間的接口標(biāo)準(zhǔn)。完整的USB系統(tǒng)通常包括三部分:具有USB接口的PC,能夠支持USB的系統(tǒng)軟件和使用USB接口的設(shè)備。本次設(shè)計(jì)就是要在一個(gè)采用TMS320F2407A實(shí)現(xiàn)電機(jī)控制的多路數(shù)據(jù)采集與處理系統(tǒng)上加上一個(gè)USB1.1的接口,以實(shí)現(xiàn)2407與上位機(jī)PC之間高效、快速、方便的傳輸數(shù)據(jù)。
 
1 TMS320F2407A  DSP芯片和AN2131Q USB接口芯片介紹
        TMS320F2407A是美國(guó)德州儀器(TI)公司生產(chǎn)的一款應(yīng)用于數(shù)字控制和信號(hào)處理領(lǐng)域的高性能定點(diǎn)DSP芯片,是TI 2000系列DSP中應(yīng)用較成熟的一款, 內(nèi)核為16位的定點(diǎn)DSP CPU,具有低成本、低功耗、高速運(yùn)算能力,采用高性能靜態(tài)CMOS技術(shù),供電電壓為3.3V,指令周期可達(dá)25 ns,片內(nèi)集成了多種外設(shè)模塊及存儲(chǔ)器,如串行通信接口 (SCI)、16位的同步串行外圍接口(SPI)、CAN通信模塊以及32K字的FLASH存儲(chǔ)器,構(gòu)成了真正的單芯片控制器,具有很高的性?xún)r(jià)比,得到了廣泛的應(yīng)用,如由電機(jī)控制的數(shù)據(jù)采集系統(tǒng)、測(cè)控儀表、運(yùn)動(dòng)控制等領(lǐng)域,采用這款芯片開(kāi)發(fā)的嵌入式系統(tǒng),一般都以串口與上位機(jī)通信,速度太慢,所以在本次設(shè)計(jì)中為了提高通信速度,采用Cypress公司的AN2131Q USB接口芯片,它的結(jié)構(gòu)如圖1。
        AN2131Q是Cypress公司推出的一款自帶微處理器的USB接口芯片,性能特點(diǎn)如下:
(1)支持全速和低速USB傳輸,有3個(gè)8位的IO端口,獨(dú)立的8位數(shù)據(jù)總線和獨(dú)立的16位地址總線,片內(nèi)嵌有一款增強(qiáng)型的8051微處理器,每4個(gè)時(shí)鐘周期就可以執(zhí)行一條指令,比標(biāo)準(zhǔn)的8051快了3倍。
(2)IO端口、數(shù)據(jù)總線、地址總線都是互相獨(dú)立的,方便擴(kuò)展存儲(chǔ)器,通過(guò)數(shù)據(jù)總線和外部交換數(shù)據(jù)速率非??欤羁炜梢赃_(dá)到12Mbit/s。AN2131Q支持控制傳輸,中斷傳輸,批量傳輸和同步傳輸。



圖1 AN2131Q的結(jié)構(gòu)框圖
 
(3)AN2131Q片內(nèi)沒(méi)有ROM,固件存儲(chǔ)在主機(jī)上,芯片上電后枚舉過(guò)程完全是由硬件自動(dòng)完成的,枚舉完成后作為一個(gè)USB設(shè)備與主機(jī)通信下載固件(firmware),下載完成后,8051脫離復(fù)位狀態(tài)執(zhí)行固件程序,可以通過(guò)固件對(duì)USB接口進(jìn)行再枚舉,這種軟配置可以方便的對(duì)產(chǎn)品進(jìn)行升級(jí)。
(4)USB1.1協(xié)議比較復(fù)雜,直接從底層開(kāi)發(fā)難度很大,AN2131Q的片上串行接口引擎(SIE)可以自動(dòng)完成包排序,信號(hào)產(chǎn)生及檢測(cè),CRC產(chǎn)生及校驗(yàn),位填充以及包標(biāo)示產(chǎn)生及解碼等大部分的協(xié)議操作,使開(kāi)發(fā)人員擺脫了復(fù)雜的協(xié)議細(xì)節(jié),加快了開(kāi)發(fā)進(jìn)程。

2 系統(tǒng)設(shè)計(jì)及USB模塊設(shè)計(jì)
         系統(tǒng)工作原理如下:上位機(jī)通過(guò)USB接口發(fā)送命令,DSP接收命令后,通過(guò)電機(jī)轉(zhuǎn)動(dòng)控制信息源,CPLD譯碼,DSP讀取各個(gè)AD轉(zhuǎn)換的數(shù)據(jù)進(jìn)行初步處理、壓縮后通過(guò)USB接口傳給上位機(jī)應(yīng)用軟件。系統(tǒng)框架如圖2。


圖2 系統(tǒng)整體功能框圖

        本次設(shè)計(jì)主要是在已有系統(tǒng)的基礎(chǔ)上加上USB接口,用到了USB的控制傳輸和批量(BULK)傳輸模式,控制傳輸利用端點(diǎn)0接收主機(jī)的控制信息或發(fā)送設(shè)備狀態(tài)信息。數(shù)據(jù)傳輸用批量傳輸,包括IN和OUT兩種操作。
(1)BULK IN  數(shù)據(jù)從設(shè)備發(fā)向主機(jī)
主機(jī)向AN2131Q內(nèi)核發(fā)送IN標(biāo)志,請(qǐng)求IN傳輸,AN2131Q準(zhǔn)備好數(shù)據(jù)后響應(yīng)IN請(qǐng)求,8051內(nèi)核裝載端點(diǎn)字節(jié)計(jì)數(shù)器表明數(shù)據(jù)已準(zhǔn)備好,如未準(zhǔn)備好,則AN2131Q內(nèi)核以NAK響應(yīng)主機(jī),當(dāng)主機(jī)發(fā)送一個(gè)表示數(shù)據(jù)接收正確的確認(rèn)信號(hào)ACK,AN2131清端點(diǎn)標(biāo)志位BUSY,通知8051緩沖器為空,為下一次傳輸做準(zhǔn)備。
(2)BULK OUT  數(shù)據(jù)從主機(jī)發(fā)往USB設(shè)備
主機(jī)發(fā)出OUT信號(hào)和要發(fā)送的數(shù)據(jù)包。如AN2131Q正確接收,返回ACK,如沒(méi)有正確接收返回NAK,同時(shí)主機(jī)繼續(xù)發(fā)送OUT數(shù)據(jù),直到AN2131Q返回ACK,每個(gè)OUT端點(diǎn)都有一個(gè)字節(jié)計(jì)數(shù)器可以讓8051知道字節(jié)數(shù)和是否已經(jīng)完成讀取操作,為下一次OUT做準(zhǔn)備。
3 AN2131Q的硬件連接
        為了提高DSP和AN2131Q之間的傳輸速度,采用了兩片F(xiàn)IFO芯片,解決了傳輸?shù)钠款i問(wèn)題。DSP用IO口訪問(wèn)FIFO。AN2131Q用數(shù)據(jù)線和FIFO連接。FIFO有三種狀態(tài)空(EF)、半滿(HF)、滿(FF)都是低有效信號(hào),當(dāng)讀取FIFO時(shí)首先檢查EF狀態(tài),只有為高電平才可以讀取,寫(xiě)入時(shí)檢查HF狀態(tài),若為無(wú)效狀態(tài)就說(shuō)明數(shù)據(jù)還不到半滿可以寫(xiě)入大小為FIFO容量一半的數(shù)據(jù)包。合理利用這三個(gè)狀態(tài)信號(hào)可以提高傳輸效率,F(xiàn)IFO芯片采用IDT72V02,容量為1K×9Bit。AN2131Q的工作電壓為3.3V,它的接地引腳5、6、13、14、72要通過(guò)1k電阻接地。SCL、SDA管腳要通過(guò)2.2k電阻上拉,不能懸空WAKEUP引腳,USB+、USB-要通過(guò)2個(gè)24歐的電阻接D+、D-以降低干擾。


4 軟件設(shè)計(jì)
        本接口的軟件設(shè)計(jì)主要包括USB固件及USB設(shè)備的驅(qū)動(dòng),固件是USB設(shè)備運(yùn)行的核心主要完成以下功能:
(1)完成AN2131Q內(nèi)核及外圍設(shè)備的配置,讓上層USB設(shè)備驅(qū)動(dòng)程序知道USB設(shè)備的能力。
(2)完成DSP與AN2131Q的通信,主機(jī)與AN2131Q的通信。DSP通過(guò)讀寫(xiě)FIFO芯片與AN2131Q通信,AN2131Q通過(guò)讀寫(xiě)FIFO與主機(jī)PC通信。
根據(jù)AN2131的存儲(chǔ)空間和運(yùn)行速度,選擇51系列C語(yǔ)言編寫(xiě)固件代碼。根據(jù)CYPRESS公司提供的固件程序框架,通過(guò)這個(gè)框架可以總結(jié)出自己的固件程序框架,主要包括設(shè)備描述符信息,設(shè)備功能代碼,和通信控制功能代碼框架如下:
(1)配置AN2131Q的外圍設(shè)備信息和通信管道。下面代碼完成AN2131Q的初始化后進(jìn)入主循環(huán),檢測(cè)是否有主機(jī)命令,如果收到命令,置CmdFlag為T(mén)URE,處理主機(jī)命令,然后CmdFlag被置為FALSE。
    …
Initial() //AN2131Q初始化配置
While(TURE)//進(jìn)入無(wú)限循環(huán)
{
    If(CmdFlag)//是否收到主機(jī)命令
    {
        SetupCmd();//執(zhí)行Setup包里的命令,設(shè)備描述符信息
        CmdFlag=FALSE;
    }
    …//CPU其他動(dòng)作
}
(2)通信管道的初始化
通道即端點(diǎn)與PC之間建立的鏈路,使能通信端點(diǎn)。
(3)數(shù)據(jù)收發(fā)
USB設(shè)備向主機(jī)發(fā)送信息和接收主機(jī)信息都是以數(shù)據(jù)包為單位,下面以輸入端點(diǎn)2和輸出端點(diǎn)2為例說(shuō)明數(shù)據(jù)的收發(fā)過(guò)程。
向主機(jī)發(fā)送數(shù)據(jù):
InputEndpointInt( )
{
If((IN2CS&0x02)!=0x02)//輸出緩沖區(qū)是否為空
{
    DataNum=PacketNum;//讀取數(shù)據(jù)包個(gè)數(shù)
    for(i=0;i<DataNum;i++)
    {…}// 寫(xiě)入緩沖區(qū)
    IN2BC=DataNum;//設(shè)置數(shù)據(jù)包大小寄存器
}
    …
}
主機(jī)發(fā)送數(shù)據(jù):
OutputEndpointInt( )
{
If((OUT3CS&0x02)!=0x02)//輸入緩沖區(qū)是否為空
{
DataNum=OUT3BC;//取得輸入數(shù)據(jù)包大小
    for(i=0;i<DataNum;i++)
    {…}//從緩沖區(qū)讀出
    OUT3BC=0;//數(shù)據(jù)包大小寄存器清0
}
}
        在設(shè)備連接時(shí),固件由專(zhuān)門(mén)的裝載驅(qū)動(dòng)程序自動(dòng)裝載到設(shè)備。固件捆綁在裝載驅(qū)動(dòng)程序之中。USB設(shè)備驅(qū)動(dòng)程序給上層應(yīng)用軟件提供接口,一方面又直接和底層固件進(jìn)行通信。USB設(shè)備的驅(qū)動(dòng)程序的設(shè)計(jì)中采用了CYPRESS公司的通用驅(qū)動(dòng)程序ezusbsys.sys,此通用設(shè)備驅(qū)動(dòng)程序只能執(zhí)行一些標(biāo)準(zhǔn)的USB設(shè)備請(qǐng)求和數(shù)據(jù)傳輸,根據(jù)本次設(shè)計(jì)的需要在這個(gè)模塊的基礎(chǔ)上進(jìn)行了一些擴(kuò)充,重新用WDM DDK生成驅(qū)動(dòng)程序滿足了設(shè)計(jì)的需要。
5 結(jié)束語(yǔ)
        本系統(tǒng)最終實(shí)現(xiàn)了DSP的USB接口,經(jīng)過(guò)實(shí)驗(yàn),與上位機(jī)通信的速率可達(dá)4Mbit/s,系統(tǒng)采用串口和上位機(jī)通信的時(shí)候速度最高才為幾十kbps。速度提高了上百倍,滿足了本信息采集與處理系統(tǒng)的要求。通過(guò)該系統(tǒng)的實(shí)現(xiàn),證明了用USB接口實(shí)現(xiàn)上、下位機(jī)通信的優(yōu)越性。
 
 
參考文獻(xiàn)
[1]  Universal Serial Bus Specification [S]. Compaq、Intel、Microsoft、NEC、Revision,
September 23,1998
[2]  Cypress Semiconductor. AN2131Q Technical Reference Manual [Z].
San Jose,CA,US:Cypress Semiconductor,2000
[3]  Axelson Jan. 陳 逸譯.USB大全.北京:中國(guó)電力出版社,2001
[4]  TMS320F2407A  DSP  Datasheet. TI,1999
[5]  許永和.USB外圍設(shè)備設(shè)計(jì)與應(yīng)用.北京:中國(guó)電力出版社,2002
 
 
作者簡(jiǎn)介:趙迎輝(1981-),男,西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院2003級(jí)研究生,研究方向
 

熱點(diǎn)新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 黄色永久免费 | 黄色片在线视频 | 国产三级在线观看免费 | 久草在线免费播放 | 免费中文字幕乱码电影麻豆网 | 高清不卡毛片免费观看 | 国产99视频精品免费视频7 | 国产一级视频在线观看网站 | 中文字幕一区二区区免 | 亚洲一级二级三级 | 91国偷自产一区二区三区蜜臀 | 亚洲v日本v欧美v综合v | 亚洲中字 | 欧美色图综合网 | 久久一级毛片 | 在线亚洲一区二区 | 在线观看91| 五月天婷婷一区二区三区久久 | www在线视频在线播放 | 爱爱www在线观看视频高清 | 亚洲欧美自拍另类图片色 | 亚洲精品一区二区三区网址 | 成人网免费观看 | 老司机成人免费精品视频 | 欧美日韩亚洲精品一区二区 | h版欧美大片免费观看 | 欧美日韩国产综合视频在线看 | 欧美爱片 | 久久精品国产清自在天天线 | 免费在线观看一级片 | 天天综合亚洲 | 黄色变态网站 | 成人看片黄a免费看视频 | 色视频一区 | 毛片久久久 | 国产小视频2023 | 欧美视频免费在线播放 | 精品成人一区二区三区免费视频 | 韩国欧美一级毛片 | 欧美日韩亚洲国产精品一区二区 | 亚洲国产第一区二区香蕉日日 |