摘 要:介紹了采用嵌入式微機(jī)SC-12和USB接口芯片F(xiàn)T245BM 的智能控制終端,,它具有3種靈活的數(shù)據(jù)接口方式:以太網(wǎng)、USB和RS485串行口,。通過(guò)以太 網(wǎng)連接可以實(shí)現(xiàn)靈活的遠(yuǎn)程數(shù)據(jù)獲取與控制,;通過(guò)USB串口總線,可以方便地進(jìn)行現(xiàn)場(chǎng)數(shù)據(jù) 的存取和設(shè)備的調(diào)試,;而通過(guò)RS485總線可以使得一個(gè)嵌入式微機(jī)SC-12與40個(gè)掛接在總線 上的控制模塊進(jìn)行通訊,。
關(guān)鍵詞:嵌入式微機(jī) FT245BM芯片 RS485總線 并行I/O 通訊協(xié)議
0引言
HIRFL—CSR(蘭州重離子冷卻儲(chǔ)存環(huán))是國(guó)家級(jí)重點(diǎn)實(shí)驗(yàn)室。CSR控制系統(tǒng)是保證CSR正常運(yùn)行的重要環(huán)節(jié),。該控制系統(tǒng)是由多個(gè)子系統(tǒng)分別組成的,。在CSR新的控制方案中,允許用戶通過(guò)TCP/IP協(xié)議來(lái)訪問(wèn)遠(yuǎn)程控制設(shè)備和獲知設(shè)備的當(dāng)前運(yùn)行情況,。為此,,設(shè)計(jì)并采用嵌入式微機(jī)控制終端,使其能通過(guò)Intran et網(wǎng)絡(luò)與控制室中的客戶機(jī)進(jìn)行遠(yuǎn)程通訊,,同時(shí)也可以將接收到的遠(yuǎn)程控制命令,,傳送到掛接RS485總線上的多個(gè)控制子模塊,反之也可以順利通訊,。采用USB控制芯片F(xiàn)T245BM進(jìn)行串口USB和并行I/O口之間的協(xié)議轉(zhuǎn)換,,使得工作人員在現(xiàn)場(chǎng)通過(guò)運(yùn)行USB客戶程序來(lái)對(duì)嵌入式微機(jī)進(jìn)行現(xiàn)場(chǎng)數(shù)據(jù)采集和調(diào)試,并有利于從局部到整體調(diào)試安裝,,逐步完成整個(gè)大控制系統(tǒng)的構(gòu)建,。
1芯片的選擇
(1)控制模塊采用的嵌入式微機(jī)是德國(guó)Beck IPC公司生產(chǎn)的SC-12。如圖1所示,,它的內(nèi)核采用固化了DOS系統(tǒng)的80186芯片,,其資源如下:

·8018620 MHz16位CPU;
·支持TCP/IP的實(shí)時(shí)DOS操作系統(tǒng),;
·512KB的用戶RAM和512KB的Flash Disk(其中256KB用于操作系統(tǒng)),;
·6×256 byte I/O空間;
·14根程序可編的雙向引腳(32腳的雙列直插封裝),;
·電源功耗350 mA(典型),;
·可擴(kuò)充2GB的外接硬盤(pán);
·兩個(gè)標(biāo)準(zhǔn)串行接口(用于初始設(shè)置),;
·一個(gè)雙絞線以太網(wǎng)接口(10/100BaseT 提供FTP,,Telnet,HTTP服務(wù)連接);
·兩路定時(shí)器輸出和兩路定時(shí)器輸入,;
·掉電保護(hù)機(jī)制,;
·一個(gè)編程串口。
(2)FT245BM芯片功能簡(jiǎn)介
在USB的開(kāi)發(fā)中,,要求設(shè)計(jì)人員對(duì)USB的標(biāo)準(zhǔn),、Firmware(固件)編程及驅(qū)動(dòng)程序的編寫(xiě)等有較深入的了解;而基于FT245BM芯片的 USB產(chǎn)品開(kāi)發(fā),能夠使研發(fā)人員在最短的周期內(nèi)開(kāi)發(fā)出相應(yīng)的USB產(chǎn)品,。FT245BM芯片功能框圖如圖2所示,,相關(guān)資源如下。

·兩個(gè)FIFO數(shù)據(jù)緩沖區(qū),,128 byte的接收緩沖區(qū)和384 byte的發(fā)送緩沖區(qū),;
·接收和發(fā)送數(shù)據(jù)速度最高可達(dá)1M b/s;
·USB收發(fā)器提供USB1.1/2.0的全速物理接口到USB總線,,支持UHCI/OHCI主控制器,;
·串行接口引擎(SIE)主要用于完成USB數(shù)據(jù)的串/并雙向轉(zhuǎn)換;
·USB協(xié)議引擎管理來(lái)自USB設(shè)備控制端口的數(shù)據(jù)流,;
·FIFO控制器處理外部接口和收發(fā)緩沖區(qū)間的數(shù)據(jù)轉(zhuǎn)換,;
·通過(guò)8根數(shù)據(jù)線D0~D7及讀寫(xiě)控制線來(lái)完成和單片機(jī)的數(shù)據(jù)交互;
·內(nèi)置3.3 V的穩(wěn)壓器,,6 MHz的振蕩器,、8倍頻的時(shí)鐘倍頻器、USB鎖相環(huán)和EEPROM接口,;
·采用32腳的PQFP封裝,,體積小巧。
FT245BM的主要功能是進(jìn)行USB和并行I/O口之間的協(xié)議轉(zhuǎn)換,。芯片一方面可從主機(jī)接收USB數(shù)據(jù),,并將其轉(zhuǎn)換為并行I/O口的數(shù)據(jù)流格式發(fā)送給外設(shè);另一方面外設(shè)可通過(guò)并行I/O口將數(shù)據(jù)轉(zhuǎn)換為USB的數(shù)據(jù)格式傳回主機(jī),。中間的轉(zhuǎn)換工作全部由芯片自動(dòng)完成,,開(kāi)發(fā)者無(wú)須考慮固件的設(shè)計(jì)。
2系統(tǒng)結(jié)構(gòu)
如圖3所示,,該電路為了適應(yīng)各種不同場(chǎng)合的應(yīng)用,,提供了3種接口:USB、RS 485串行口和10Mb以太網(wǎng)接口,。作為局部控制系統(tǒng)中的上位控制總機(jī),,它提供了完整的總線控制和遠(yuǎn)程通訊的功能。

3軟件編程
3.1基于TCP/IP協(xié)議(流套接字)的Socket編程
控制系統(tǒng)利用Intranet來(lái)實(shí)現(xiàn)現(xiàn)場(chǎng)設(shè)備的遠(yuǎn)程監(jiān)控和訪問(wèn),,WinSock通常是被稱(chēng)為“套接字”的通訊對(duì)象,,它可使不同的應(yīng)用程序跨網(wǎng)通訊。服務(wù)器一般有重復(fù)和并發(fā)兩種,,前者用于面向短時(shí)間能處理完的請(qǐng)求,,由服務(wù)器自行處理,主要用于無(wú)連接的Socket編程模式,,一般面向事務(wù)處理,,一個(gè)請(qǐng)求一個(gè)應(yīng)答就能解決問(wèn)題,。而后者則處理時(shí)間不定的請(qǐng)求。在控制系統(tǒng)中,,要不定時(shí)的監(jiān)測(cè)和控制現(xiàn)場(chǎng)設(shè)備,采用面向連接的Socket編程模式完成服務(wù) 器(SC-12)與客戶機(jī)之間的通訊,。對(duì)于SC-12微機(jī),,它提供了通過(guò)利用Borland C++5.02開(kāi)發(fā)環(huán)境和Beck IPC公司提供的軟件調(diào)試環(huán)境,很方便的進(jìn)行服務(wù)器端的Socket編程,。而對(duì)于客戶端的用戶界面,,可用Visual C++6.0開(kāi)發(fā)環(huán)境,通過(guò)WinSock API來(lái)編寫(xiě)網(wǎng)絡(luò)通信的客戶端程序,。
3.2USB客戶應(yīng)用程序
當(dāng)FT245BM的USB接口連接到主機(jī)后,,必須在PC機(jī)上安裝一個(gè)由FTDI公司免費(fèi)提供的 虛擬串行口 VCP(Virtual COM Port)驅(qū)動(dòng)程序。該驅(qū)動(dòng)程序兼容Windows 98/98 SE,、Window s 2000/ME/XP等不同版本,。用戶可以在這虛擬串口上進(jìn)行應(yīng)用程序的開(kāi)發(fā)。該虛擬串口可 以象一個(gè)標(biāo)準(zhǔn)的物理串口那樣被訪問(wèn),,可本質(zhì)上所有針對(duì)虛擬串口的數(shù)據(jù)通信都是通過(guò)USB 總線完成的,,在設(shè)備端則通過(guò)并行I/O口完成。
在PC端,,應(yīng)用VC對(duì)虛擬串口(通常為COM3)進(jìn)行應(yīng)用編程,。采用Visual C++6.0環(huán)境自帶的串口通訊控件 Microsoft Communications Control(Version60)進(jìn)行編程。通訊控 件的工作原理類(lèi)似于中斷方式,,當(dāng)有通訊事件發(fā)生時(shí)(如發(fā)送,、接收數(shù)據(jù)),就會(huì)觸發(fā)OnComm事件,。在OnComm事件的處理函數(shù)中調(diào)用GetCommEvent()函數(shù),,由該函數(shù)的返回值即可確定是什么類(lèi)型的事件,并由此做出相應(yīng)的處理,,在串口通訊程序中只需設(shè)置和監(jiān)視MSComm控件的屬性和事件便可,。通過(guò)串口通訊控件,用戶就可以輕松編寫(xiě)自己的應(yīng)用程序,。
4結(jié)語(yǔ)
由于采用了嵌入式微機(jī)并外擴(kuò)FT245BM的USB芯片,,可以很容易的使得控制系統(tǒng)中的網(wǎng)絡(luò)節(jié)點(diǎn)智能化,并有利于通過(guò)用戶軟件開(kāi)發(fā)升級(jí)控制系統(tǒng)和拓寬控制網(wǎng)絡(luò),;同時(shí)FT 245BM的USB芯片,,為硬件編程(修改硬件)和USB客戶應(yīng)用程序的開(kāi)發(fā)提供了很大便利。