<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于CY7C68013A的USB通信程序開(kāi)發(fā)設計

基于CY7C68013A的USB通信程序開(kāi)發(fā)設計

作者: 時(shí)間:2010-08-11 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:總線(xiàn)(Universal Setial Bus通用串行總線(xiàn))是用來(lái)連接外圍設備與計算機的新式接口,文中給出了利用CY7C68013芯片上所集成的I2C控制器來(lái)控制設備上數據傳輸的實(shí)現方法。該方法同時(shí)利用NI公司的LabVIEW來(lái)對上位機進(jìn)行編程,而對設備則采用控制傳輸方式,這樣同時(shí)保證了傳輸速度和數據的正確性。
關(guān)鍵詞:USB通用串行總線(xiàn);;Inter-Integrated Circuil;LabVIEW

本文引用地址:http://dyxdggzs.com/article/157237.htm

0 引言
CY7C68013中集成有增強的8051微控制器及I2C兼容控制器,其傳輸速率可達100 kHz或400kHz。LabVIEW是一種以圖形化語(yǔ)言為基礎設計虛擬儀器的軟件,LabVIEW采用圖形模式的結構框圖來(lái)構建代碼,LabVIEW由數據流驅動(dòng),數據流控制著(zhù)的執行順序。LabVIEW功能強大,它帶有可擴展函數庫和子程序庫的通用程序設計系統,它的VISA(Virtual InstrumentSoftware Architecture)是一個(gè)用來(lái)與各種儀器總線(xiàn)進(jìn)行通訊的高級應用編程接口(API),且不受平臺、總線(xiàn)和環(huán)境的限制。
I2C (Inter-Integrated Circuit)總線(xiàn)是由飛利浦公司開(kāi)發(fā)的兩線(xiàn)式串行總線(xiàn),主要用于連接微控制器及其外圍設備。它由數據線(xiàn)SDA和時(shí)鐘SCL構成,用于發(fā)送和接收數據。其最主要的優(yōu)點(diǎn)是簡(jiǎn)單和有效。
一般情況下,一個(gè)完整的USB系統的軟件通常需要上位機程序、驅動(dòng)程序和固件程序三個(gè)部分。

1 上位機程序開(kāi)發(fā)
采用NI公司的LabvIEW實(shí)現上位機程序開(kāi)發(fā),開(kāi)發(fā)時(shí)可采用控制傳輸方式??刂苽鬏斨惺褂煤瘮怠癡ISA打開(kāi)”來(lái)打開(kāi)指定的USB設備,而“VISA USB控制輸出”函數則用來(lái)完成定義請求0xBl,它可將“寫(xiě)入緩沖區”中的數據寫(xiě)入FPGA寄存器。使用函數“VISA USB控制輸入”來(lái)完成自定義請求0xB2,并將FPGA寄存器中的數據讀回到“讀取緩沖區”中。其程序框圖如圖1所示。


波形設置上位機程序時(shí),可利用子VI產(chǎn)生彈出窗口的功能來(lái)實(shí)現程序通道的設置,而通過(guò)事件結構、case結構、循環(huán)結構則可實(shí)現任意波形產(chǎn)生的子VI;通過(guò)case結構可實(shí)現六種基本波形設置的子VI設計。

2 驅動(dòng)程序開(kāi)發(fā)
設計時(shí)可采用NI公司的VISA來(lái)開(kāi)發(fā)驅動(dòng)程序。當進(jìn)行USB時(shí),VISA提供兩類(lèi)函數供LabVIEW調用,即USB INSTR設備與USB RAW設備。 USB INSTR設備是符合USBTMC協(xié)議的USB設備,使用USB INSTR類(lèi)函數控制時(shí),其無(wú)需配置NI-VISA;而USB RAW設備則是指除了明確符合USBTMC規格的儀器之外的任何USB設備,通信時(shí)都要配置NI-VISA。配置NI-VISA的詳細步驟和過(guò)程可參考NI官方網(wǎng)站上免費提供的文檔《使用NI-VISA控制USB設備》。

3 固件程序開(kāi)發(fā)
構成建構所需要修改的文件大約有五個(gè)。其中Fw.c為USB固件程序的主文件,為了實(shí)現控制傳輸,需要修改該文件:其一是要聲明用來(lái)響應自定義設備請求的兩個(gè)函數,其二是設置自定義設備請求的響應部分。
Periph.c首先要設置初始化函數TD_Init(void),并應設置與EPOBUF有關(guān)的寄存器、CPU的時(shí)鐘頻率以及與I2C相關(guān)的寄存器:其次還要定義用來(lái)響應自定義設備請求的函數。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>