• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      LABVIEW通過動態(tài)鏈接庫實(shí)現(xiàn)對CY7C68013的控制

      2016-11-14 06:03:39胡之冉
      橡塑技術(shù)與裝備 2016年2期
      關(guān)鍵詞:固件源代碼上位

      胡之冉

      (蘇州百得科技有限公司,江蘇 蘇州 215021)

      LABVIEW通過動態(tài)鏈接庫實(shí)現(xiàn)對CY7C68013的控制

      胡之冉

      (蘇州百得科技有限公司,江蘇 蘇州 215021)

      USB接口為主機(jī)與外設(shè)之間的數(shù)據(jù)傳輸提供了一種高效方便的雙向數(shù)據(jù)通道。已被廣泛的應(yīng)用在工業(yè)控制與數(shù)據(jù)采集等領(lǐng)域。本文采用CY7C68013芯片組成的最小系統(tǒng)實(shí)現(xiàn)了一個基于USB的控制系統(tǒng)。

      LABVIEW軟件; USB接口;動態(tài)鏈接庫

      USB作為電腦與外設(shè)傳遞數(shù)據(jù)的一種常見接口,具有熱插拔,較快的數(shù)據(jù)傳輸率等優(yōu)點(diǎn)得到了廣泛的應(yīng)用。在工業(yè)控制應(yīng)用中,采用基于USB接口的攝像頭及數(shù)據(jù)采集卡等硬件來構(gòu)建便攜式測試系統(tǒng)已經(jīng)成為了一種趨勢。本文采用USB專用芯片,通過芯片生產(chǎn)商提供的API函數(shù)庫,實(shí)現(xiàn)了一個USB控制系統(tǒng),提高了開發(fā)效率。

      1 系統(tǒng)的構(gòu)成

      USB的通訊協(xié)議比較復(fù)雜,在工程應(yīng)用中往往采用現(xiàn)成的USB專用芯片,通過芯片生產(chǎn)商提供的API函數(shù)庫及固件程序框架來實(shí)現(xiàn)USB硬件通信功能。本文采用CY7C68013芯片組成的最小系統(tǒng)來實(shí)現(xiàn)USB通信控制系統(tǒng),系統(tǒng)中使用該芯片的輸入輸出端口B作為外圍電路的控制端口。系統(tǒng)采用美國國家儀器的LabVIEW軟件開發(fā)上位應(yīng)用程序,采用構(gòu)建動態(tài)鏈接庫的方式來實(shí)現(xiàn)上位應(yīng)用程序與USB固件程序的數(shù)據(jù)通信。通過上位應(yīng)用程序向USB控制設(shè)備發(fā)出指令,將控制信號發(fā)送到CY7C68013的B端口實(shí)現(xiàn)控制外圍設(shè)備。

      2 系統(tǒng)軟件設(shè)計

      USB通信系統(tǒng)軟件通常由USB固件程序、驅(qū)動程序及上位應(yīng)用軟件三個部分組成。上位應(yīng)用程序通過驅(qū)動程序?qū)?shù)據(jù)傳遞給USB固件程序,由固件程序解析數(shù)據(jù)完成操作。

      2.1 動態(tài)庫軟件的實(shí)現(xiàn)

      動態(tài)鏈接庫是一個包含由多個程序同時使用代碼和數(shù)據(jù)的模塊,不可以獨(dú)立執(zhí)行。本文中使用VC6.0集成開發(fā)環(huán)境來生成動態(tài)鏈接庫,通過向?qū)傻脑创a包含了動態(tài)鏈接庫基本的框架,用戶只需編寫硬件相關(guān)的代碼即可。發(fā)送數(shù)據(jù)函數(shù)如下:

      USBDLL_API void USBCMD(char data)

      ept->Target = TGT_DEVICE;

      ept->ReqType = REQ_VENDOR;

      ept->Direction = DIR_TO_DEVICE;

      ept->ReqCode = 0xA1;

      ept->Value = 0;

      ept->Index = 0;

      PUCHAR buf=new UCHAR[2];

      ZeroMemory(buf, 2);

      LONG buflen = 2;

      buf[0]=0xA1;

      buf[1]=data;

      ept->XferData(buf,buflen);

      2.2 固件軟件的編寫

      Cypress公司官網(wǎng)上提供的開發(fā)工具包已經(jīng)包含了固件程序框架,本文基于原廠提供的框架經(jīng)過修改完成最終的程序。

      (1)在periph.c文件中添加用戶自定義命令

      BOOL DR_CMD1(void)

      EP0BUF[0]=0xA1;

      EP0BCH=0;

      EP0BCL=2;

      EZUSB_Delay(10);

      IOB=EP0BUF[1];

      EP0CS |= bmHSNAK;return(1);

      (2)在lp.h文件的頭部添加用戶指令常量

      #define SC_CMD1 0xa1

      (3)修改cydown.c文件的指令解析函數(shù)

      void SetupCommand(void)

      void*dscr_ptr;

      switch(SETUPDAT[1])

      ……..

      case SC_CMD1:

      DR_CMD1();

      break;

      ……..

      2.3 上位軟件的實(shí)現(xiàn)

      LabVIEW是美國NI公司推出的基于圖形化的編程軟件,采用框圖編程方法,由類似儀表的控件界面及類似流程的框圖代碼組成。系統(tǒng)源代碼程序框圖如圖1,程序框圖中使用函數(shù)調(diào)用結(jié)點(diǎn)來調(diào)用編譯好的動態(tài)鏈接庫函數(shù)。

      圖1 LabVIEW框圖源代碼

      3 結(jié)束語

      本文實(shí)現(xiàn)了一個由CY7C68013芯片組成的USB最小控制系統(tǒng)。文中使用的動態(tài)連接庫編程的方式提高了代碼的重用性能,為滿足不同上層軟件開發(fā)提供了方便。

      以本文所介紹的代碼為基礎(chǔ),經(jīng)過適當(dāng)修改可以進(jìn)一步實(shí)現(xiàn)虛擬示波器等更為具體的測控系統(tǒng),具有一定應(yīng)用空間。

      [1]鄧焱,王磊. LabVIEW7.1測試技術(shù)與儀器應(yīng)用. 機(jī)械工業(yè)出版社,2004,08,01.

      [2]雷振山. LabVIEW 7 Express 實(shí)用技術(shù)教程. 中國鐵道出版社,2004, 04.

      (P-02)

      LABVIEW achieves CY7C68013 control via dynamic link library

      TP273

      1009-797X(2016)02-0093-02

      A

      10.13520/j.cnki.rpte.2016.02.035

      胡之冉(1976-),男,工程碩士,研究方向?yàn)樽詣踊刂?,從事制造工程方面的工作?/p>

      2015-11-24

      猜你喜歡
      固件源代碼上位
      人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
      基于TXL的源代碼插樁技術(shù)研究
      軟件源代碼非公知性司法鑒定方法探析
      特斯拉 風(fēng)云之老阿姨上位
      車迷(2018年12期)2018-07-26 00:42:22
      “三扶”齊上位 決戰(zhàn)必打贏
      基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
      基于固件的遠(yuǎn)程身份認(rèn)證
      揭秘龍湖產(chǎn)品“源代碼”
      以新思路促推現(xiàn)代農(nóng)業(yè)上位
      提取ROM固件中的APP
      電腦愛好者(2015年7期)2015-04-09 08:54:02
      穆棱市| 温泉县| 亳州市| 舒城县| 巴东县| 商水县| 云霄县| 永城市| 报价| 平阴县| 大宁县| 涡阳县| 福鼎市| 眉山市| 威远县| 贡嘎县| 内江市| 新密市| 称多县| 赤城县| 奎屯市| 南召县| 襄垣县| 侯马市| 娱乐| 兴山县| 伊宁市| 遂溪县| 互助| 定州市| 阳江市| 揭阳市| 长丰县| 公安县| 平定县| 皋兰县| 象山县| 新丰县| 绍兴市| 孙吴县| 哈巴河县|