日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

基于CY7C646xx的通用串行總線接口

出處:highway 發(fā)布于:2007-04-29 09:24:26

基于CY7C646xx的通用串行總線接口

趙 闖,張劍云
(解放軍電子工程學(xué)院,安徽 合肥 230037)

1 USB簡介

UBS(Universal Serial Bus)是一種標(biāo)準(zhǔn)的計(jì)算機(jī)與外設(shè)的連接接口,1995年問世,并由Compaq,Digital Equipment Corp.(現(xiàn)屬Compaq),IBM,Intel,Microsoft,NEC及Northern Telecom七家計(jì)算機(jī)與通信工業(yè)領(lǐng)域的公司組成的聯(lián)盟定義和推廣。1996年,該聯(lián)盟公布了USB 1.1規(guī)范。其后,隨著USB的完善和應(yīng)用的需求,促進(jìn)了高速USB2.0規(guī)范在1999年發(fā)布。目前已經(jīng)成為外設(shè)的流行接口選擇。

USB具有諸多特性和特點(diǎn)。USB統(tǒng)一了各種接口設(shè)備的連接頭,如通信接口、打印機(jī)接口、顯示器接口、音響輸入/輸出設(shè)備、存儲(chǔ)設(shè)備等都采用相同的USB接口規(guī)范;USB即插即用,能自動(dòng)檢測與配置系統(tǒng)的資源;USB完全支持"熱插拔",在開機(jī)的狀態(tài)下,可以插入和拔離USB設(shè)備;USB接口規(guī)范1.1所支持的傳輸速度可達(dá)12 Mb/s(USBl.1),USB2.0規(guī)范支持的傳輸速度達(dá)到480 Mb/s;USB支持斗種不同傳輸速度和不同傳輸質(zhì)量的數(shù)據(jù)傳輸方式,即批量傳輸方式、中斷傳輸方式、控制傳輸方式和同步傳輸方式,能夠滿足不同設(shè)備的不同需求;USB連接設(shè)備多可達(dá)127個(gè);USB采用單一專用的接口型號,所有的USB設(shè)備的接口型號完全統(tǒng)一,并且使用USB集線器來增加擴(kuò)充的連接端口白的數(shù)目等。

2 CY7C646xx系列

CY7C646xx系列是Cypress公司開發(fā)的全速的USB接口系列中的一種,該系列針對USB外圍設(shè)備設(shè)計(jì),除了具有典型的USB特性之外,還具有三個(gè)關(guān)鍵特性:

1)該系列提供"軟"的應(yīng)用方案,即基于片內(nèi)RAM,支持即時(shí)動(dòng)態(tài)固件(Firmware)功能,允許無限制的擴(kuò)充和更新;

2)該系列能夠達(dá)到USBl.1協(xié)議的傳輸速度要求,向用戶提供足夠的端口、緩沖區(qū)和傳輸速度;

3)該系列對USB的底層協(xié)議實(shí)現(xiàn)高度硬件集成,簡化了硬件固件代碼的編程,加速了USB通信的掌握過程,更易于開發(fā),其內(nèi)部結(jié)構(gòu)框圖如圖1所示。

該系列通過USB總線(包括+5V、地、D+、D-)和計(jì)算機(jī)相連;轉(zhuǎn)發(fā)器固化到芯片內(nèi)部;串行接口引擎(亦稱USB核)具有完整的USB設(shè)備功能,完夠響應(yīng)主機(jī)對設(shè)備的標(biāo)準(zhǔn)請求,具有3種USB配置,每種配置1個(gè)或16個(gè)端點(diǎn)。完全支持4種標(biāo)準(zhǔn)的USB數(shù)據(jù)傳輸類型(控制傳輸、批量傳輸、中斷傳輸和同步傳輸);芯片內(nèi)部的程序數(shù)據(jù)隨機(jī)存儲(chǔ)器(RAM)具有8 KB的容量;芯片內(nèi)嵌入增強(qiáng)的8051微處理器。具有所有的8051資源,即5個(gè)I/O口,2個(gè)通用異步轉(zhuǎn)發(fā)器(UART),3個(gè)計(jì)數(shù)器/定時(shí)器,擴(kuò)展的中斷系統(tǒng)等;芯片利用從屬FIFO或者通用可編程接口(CPIF)和外部邏輯(諸如DSP等)進(jìn)行數(shù)據(jù)傳輸。

3 USB接口系統(tǒng)的結(jié)構(gòu)

USB接口的結(jié)構(gòu)如圖2所示。計(jì)算機(jī)采用Windows操作系統(tǒng),用戶程序通過設(shè)備驅(qū)動(dòng)程序訪問目標(biāo)板。在目標(biāo)板端上,CY7C646xx把TMS320VC33型數(shù)字信號處垣器和計(jì)算機(jī)通過USB總線建立通信鏈路,用CPLD進(jìn)行目標(biāo)板的控制。TMS320VC33通過CY7C646xx內(nèi)置的從屬FIFO和CY7C646xx進(jìn)行數(shù)據(jù)交換。

在本方案中,CY7C646xx采用無EEPROM的列舉方式,即當(dāng)目標(biāo)板插入U(xiǎn)SB端口時(shí),操作系統(tǒng)進(jìn)行USB常規(guī)描述符請求,CY7C646xx將內(nèi)置的PID、VID和DID回復(fù)主機(jī)請求;主機(jī)動(dòng)態(tài)加載"固件驅(qū)動(dòng)程序",由該驅(qū)動(dòng)程序?qū)?051程序代碼和數(shù)據(jù)至CYTC646xx內(nèi)的RAM中,實(shí)現(xiàn)"軟"開發(fā)目的;該驅(qū)動(dòng)程序重置啟動(dòng)8051,重新列舉設(shè)備,至RAM中的程序回復(fù)主機(jī)的USB描述符請求,主機(jī)加載"數(shù)據(jù)通信驅(qū)動(dòng)程序",完成USB設(shè)備的安裝。應(yīng)用程序通過"數(shù)據(jù)通信驅(qū)動(dòng)程序"和CY7C646xx建立通信,完成數(shù)據(jù)傳輸。

4 驅(qū)動(dòng)程序的編寫

USB設(shè)備驅(qū)動(dòng)程序采用一種新的驅(qū)動(dòng)模型--WDM(windows driver model)。WDM通過提供一種靈活的方式來簡化驅(qū)動(dòng)程序的開發(fā),在實(shí)現(xiàn)對新硬件支持的基礎(chǔ)上減少并降低所必須開發(fā)的驅(qū)動(dòng)程序的數(shù)量和復(fù)雜性。可以應(yīng)用Cypress公司提供編寫CY7C646xx系列驅(qū)動(dòng)程序框架源代碼進(jìn)行相應(yīng)的修改和添加,生成所需要的驅(qū)動(dòng)程序。 4.1 固件驅(qū)動(dòng)程序

利用代碼轉(zhuǎn)換工具h(yuǎn)ex2c.exe,將生成的8051固件代碼(hex文件)轉(zhuǎn)換為C文件;將C文件中的相應(yīng)代碼拷貝到所提供的源代碼程序之一的firmware.c相應(yīng)部分;利用WindowsDDK工具將各個(gè)源文件編譯成.sys文件。

修改相應(yīng)的INF文件,將"%USB\VID_0547&PID_1004.DeviceDesc%=EZUSBDev.Dev,USB\VID_&PID_'中的VID及PID修改為相應(yīng)的"預(yù)設(shè)USB設(shè)備"的相應(yīng)VID和PID,在本應(yīng)用中,VID.為0547,PID為2235;緊接在此語句之后應(yīng)加入相同的語句,PID和VID應(yīng)為所的固件代碼所能提供的PID和VID,保證外設(shè)第二次列舉后能根據(jù)此PID和VID找到相應(yīng)的支持主機(jī)和電路通信的驅(qū)動(dòng)程序。

4.2 支持主機(jī)和電路通信的驅(qū)動(dòng)程序

由Cypress公司提供的GPD(General Purpose Driver)模板供用戶修改使用。它提供一個(gè)上層的程序代碼來實(shí)現(xiàn)底層的驅(qū)動(dòng)程序的編寫,能夠完成USB設(shè)備的標(biāo)準(zhǔn)請求及Cypress公司的該系列電路所特定的請求和數(shù)據(jù)的傳輸。該GPD所提供的接口函數(shù)具有通用性,包括打開、關(guān)閉設(shè)備及USB的I/O操作等。本應(yīng)用主要采用上述兩類接口程序,在沒有改變所提供的EZUSB.SYS的驅(qū)動(dòng)程序的情況下,實(shí)現(xiàn)主機(jī)和外設(shè)的數(shù)據(jù)通信。

5 固件程序的編寫

固件程序指的是需要到CY7C646xx內(nèi)RAM中的8051程序代碼和數(shù)據(jù)。需要完成的功能包括初始化CY7C646xx內(nèi)部的所有用到的寄存器使之與外部電路相配合;對主機(jī)的USB標(biāo)準(zhǔn)請求的響應(yīng);CY7C646xx的電子仿真實(shí)際脫離與重新連接至USB接口的實(shí)現(xiàn);設(shè)備休眠狀態(tài)的啟動(dòng)和終止;完成讀取OUT端點(diǎn)和轉(zhuǎn)發(fā)至內(nèi)部從屬"寫FIFO"及讀取內(nèi)部從屬"讀FIFO"的數(shù)據(jù)和轉(zhuǎn)發(fā)至IN端點(diǎn)等功能。

該應(yīng)用采用Keil51編譯環(huán)境,用C語言完成固件源代碼的編寫。采用標(biāo)準(zhǔn)的結(jié)構(gòu)框架,修改或者添加自己的代碼,完成所需要的任務(wù)。

需要注意,如果開發(fā)者沒有使用片外接存儲(chǔ)器,需將Keil51編譯環(huán)境的L51 Location選項(xiàng)中的Code(指令碼部分)始于0x0080,而且xdata(數(shù)據(jù)部分)始于0xl000,以保證在同一個(gè)RAM中指令代碼和數(shù)據(jù)不混迭。

6 計(jì)算機(jī)端應(yīng)用程序的編寫

應(yīng)用程序與設(shè)備進(jìn)行通信的通用函數(shù)包括打開關(guān)閉設(shè)備、傳輸數(shù)據(jù)等:

6.1 打開和關(guān)閉設(shè)備

該應(yīng)用程序基于Ezusb.sys驅(qū)動(dòng)程序,利用VisualC++針對該電路進(jìn)行操作,完成數(shù)據(jù)的傳輸。

打開設(shè)備: HANDLE hDevice=CreateFile (DeviceName,
GENERIC_WRITEIGENERIC_READ,F(xiàn)ILE_SHARE_WRITE︱FILE_SHARE_READ,
NULL,OPEN_EXISTING,0,NULL);

程序打開設(shè)備"DeviceName''的方式為通用讀寫方式,文件共享讀寫。

關(guān)閉設(shè)備:CloseHandle (hDevice)。

6.2 數(shù)據(jù)傳輸

其代碼為BOOL bResult = DeviceloControl (hDevice,direction,&Control,sizeof xxxx_TRANSFER_CONTROL),buffer,length, (unsigned long*)&nBytes,NULL),其中,hDevice為設(shè)備句柄;direction為數(shù)據(jù)傳輸?shù)姆较?;Control為4種USB數(shù)據(jù)傳輸?shù)姆绞竭x擇;size(xxxx_TRANSFER_CONTROL)為數(shù)據(jù)格式所需存儲(chǔ)空間的大?。籦uffer為所傳輸數(shù)據(jù)的緩沖區(qū)地址指針;nBytes為傳輸完成后實(shí)際傳輸?shù)臄?shù)據(jù)個(gè)數(shù):數(shù)據(jù)傳輸格式為USB設(shè)備的統(tǒng)一規(guī)范,可參照Windows DDK中的相應(yīng)文件。

6.3 數(shù)據(jù)傳輸?shù)耐ㄐ艆f(xié)議

每個(gè)數(shù)據(jù)包由包頭和數(shù)據(jù)或者只由包頭組成,的數(shù)據(jù)長度為64字節(jié),由于本應(yīng)用所采用的該系列的80引腳的CY7C64603沒有"數(shù)據(jù)空"對外標(biāo)志,所以,外部電路讀寫邏輯每次瀆寫64字節(jié)。傳輸?shù)淖止?jié)不足64時(shí)由固件補(bǔ)零:·數(shù)據(jù)包格式如圖3所示。



  

參考文獻(xiàn):

[1]. TMS320VC33 datasheet http://www.hbjingang.com/datasheet/TMS320VC33_688528.html.
[2]. CPLD datasheet http://www.hbjingang.com/datasheet/CPLD_1136600.html.


關(guān)鍵詞:基于CY7C646xx的通用串行總線接口8051CY7C64603TMS320VC33

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

SGM7228 SGM8051 SGM8045 圣邦微SGMICRO原裝正品
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!