国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

胡之冉

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

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

胡之冉

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

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

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

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

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

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

動態(tài)鏈接庫是一個包含由多個程序同時使用代碼和數(shù)據(jù)的模塊,不可以獨立執(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 上位軟件的實現(xiàn)

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

圖1 LabVIEW框圖源代碼

3 結(jié)束語

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

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

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

[2]雷振山. LabVIEW 7 Express 實用技術(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-),男,工程碩士,研究方向為自動化控制,從事制造工程方面的工作。

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
丰都县| 迁安市| 黄龙县| 大厂| 延长县| 惠水县| 象州县| 寿阳县| 徐闻县| 尚义县| 新密市| 买车| 泸溪县| 汉中市| 白城市| 渑池县| 清镇市| 石泉县| 贡嘎县| 邻水| 封开县| 鄂州市| 望江县| 额济纳旗| 北京市| 伊吾县| 邢台市| 镇沅| 汉阴县| 涟源市| 乳山市| 兴隆县| 灵川县| 进贤县| 策勒县| 泰宁县| 重庆市| 洛川县| 鹤岗市| 江都市| 海晏县|