新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 對經(jīng)濟型數(shù)控機床實行USB接口改造的實踐探索

對經(jīng)濟型數(shù)控機床實行USB接口改造的實踐探索

作者: 時間:2013-11-02 來源:網(wǎng)絡 收藏
/RS232轉換器一般由接口模塊、UART接口模塊、數(shù)據(jù)緩沖區(qū)和協(xié)議控制單元組成。接口模塊主要提供與USB總線的連接,它實現(xiàn)一般USB設備的所有功能,與PC上的USB口相連;UART接口則實現(xiàn)標準RS232接口的所有功能,與DNC接口板的RS232接口相連;協(xié)議控制單元通過接受USB接口的命令,對UART接口進行配置(配置通信波特率、數(shù)據(jù)位、校驗位、起始/停止位、流控信號等)。數(shù)據(jù)緩沖區(qū)用來臨時保存雙方的數(shù)據(jù)傳輸工程中的數(shù)據(jù)。

另一種改造方法是直接改造DNC接口板,增加USB模塊。圖4是改造后的硬件結構。


圖4 改造后的DNC接口板結構其中,SIE是串行接口引擎,是USB接口的核心模塊。如果CPU包含了USB接口,則CPU直接與負責實現(xiàn)USB協(xié)議要求主要功能的SIE核心模塊連接,否則,CPU則需通過串行總線,如I2C或數(shù)據(jù)地址線I/O口與SIE相連。

兩種硬件改造在USB接口實現(xiàn)上有本質(zhì)的區(qū)別:前者USB/RS232轉換器所用的USB芯片屬于USB接口芯片,從硬件結構上來說僅包含USB的串行接口引擎(SIE)、FIFO內(nèi)存、收發(fā)器以及電壓調(diào)整器等芯片;后者則屬于內(nèi)含USB單元的微處理器(MPU),即芯片包含了增強版的8051核心,可以通過I/O與原有CPU相連,甚至可以直接去驅動步進電機,完成數(shù)控任務。

3. 軟件設計

(1)USB/RS232

這種結構可以直接使用,不需要另外編制驅動程序。

(2)對直接改造DNC接口板的,要采用EZ-USB的固件開發(fā)

可以使用Cypress USB仿真器軟件——Cypress Lab中的Keil C Complier工具。該應用程序是由Cypress半導體公司為配合USB芯片組的開發(fā)所研制出來的。通過編制相應程序,可將編譯后的文件直接燒錄至EEPROM中,從而完成USB的固件設計。也可以采用CYASM匯編語言,這是一種只有38個精簡指令的編譯器程序,同樣將編譯好的16進制格式文件(.hex)燒錄至EEPROM中使用。其主要功能是控制EZ-USB芯片接受并處理USB驅動程序的請求(請求設備描述符、請求或設置設備狀態(tài)、請求設備設置、請求或設置設備接口等共11種USBl.1標準請求);控制EZ-USB芯片接受應用程序的控制指令;控制A/D模塊的數(shù)據(jù)采集;通過EZ-USB存儲數(shù)據(jù)并實時上傳PC機。

(3)在Windows系統(tǒng)下編制USB驅動程序

USB總線是支持熱插拔的,當Windows檢測到一個新的USB外設時,必須做的一件事情是找出應該使用哪個設備驅動應用軟件來與設備通信,然后再載入選定的驅動。這是Windows設備管理器的工作,設備管理器使用類、設備安裝器和INF文件來找到這個匹配。當Windows列舉新的USB設備時,設備管理器把所有INF文件中的數(shù)據(jù)(設備供應商和產(chǎn)品的ID,也稱作VID和HD,以及制造商、供應商名字和描述符等)與在列舉時從設備獲得的描述符中的信息做比較。找到匹配之后,Windows系統(tǒng)注冊表將保存所有已安裝設備的信息。在位置HKEY_L0CAL_ MACHINEEnum USB處,將列出所有的USB設備。

由于在Windows 98中提供了USBD(USB系統(tǒng)驅動程序),且USBD又給用戶提供了直接支持的USB DI,用戶在編寫USB驅動程序時,只需配置滿足USB要求的URB(USB請求塊),并通過USB DI發(fā)送下去,即可實現(xiàn)對USB設備的控制。設備驅動是保證應用程序訪問硬件設備的軟件組件,一個設備驅動使得應用程序不必知道物理連接、信號和與一個設備通信需要的協(xié)議等的細節(jié)。應用程序可以使用一套操作系統(tǒng)支持的函數(shù)與設備驅動進行通信。用于讀寫USB設備的API函數(shù)是Creat Ne、Device Io Control或Read File和Write File。

把所有與設備有關的驅動操作編譯為DLL,提供給應用程序使用。應用程序無需知道操作設備的細節(jié),只需知道DLL的接口函數(shù)即可。下面給出對USB設備基本操作函數(shù)的例子。

CreateFile(TEXT("\\.\Ez-USB"),GENERIC_READ,FILE_SHARE_ READ|FIlE_SHARE_WRITE,NULL,OPEN_EXISTING, FILE_FLAG_OVERLAPPED,NULL)

第1個參數(shù)是需打開的設備名;第2和第3個參數(shù)分別為授權讀寫和共享模式;第4個參數(shù)為安全屬性,一般為NULL;第5個參數(shù)為打開方式(對USB設備來說應該是打開已存在的);第6個參數(shù)是異步交替模式;第7個參數(shù)為模板文件,這里并不需要。函數(shù)返回值為設備指針。

Device Io Control(hUSB, (DWORD)wFuncNum, (PVOID)pParam, (DWORD) dwSize,NULL,0,Returned,NULL)

hUSB為通過CreatFile所獲得的設備指針;wFunHum為設備操作代碼,具體可查閱CYPRESS公司或USBD提供的標準代碼;pParam為執(zhí)行操作的請求數(shù)據(jù)緩沖區(qū)指針;dwSize為數(shù)據(jù)緩沖區(qū)大小,緊跟其后的兩個參數(shù)分別為操作的輸出數(shù)據(jù)接收緩沖區(qū)指針和大小,一般為NULL和0即可;Returned為操作返回指針;最后一個參數(shù)為異步操作,為NULL即可。

使用前先定義好請求數(shù)據(jù)緩沖區(qū),獲得設備指針后即可用相應的操作代碼對USB設備進行操作了。

以上的設備驅動程序和上層應用軟件已在VC6.0下調(diào)試通過。

四、總結

通過上述的軟硬件改造,使經(jīng)濟型數(shù)控與PC之間具備了一個新的接口——USB接口。這種改造有助于提高經(jīng)濟數(shù)控系統(tǒng)與PC相配置的靈活性和多樣性,甚至我們可以用1臺PC來控制一條小型流水線上的所有NC。這不僅大大減少了安裝、配置時間,降低了故障率,減少了操作工人數(shù)量,更可以與相關軟件配合,實現(xiàn)并行制造,使NC的利用率達到最大,并使經(jīng)濟型數(shù)控系統(tǒng)擴展了網(wǎng)絡功能,可以通過PC連入Internet/Intranet,實現(xiàn)網(wǎng)絡化制造。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉