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

?

利用ISP技術(shù)的控制系統(tǒng)網(wǎng)絡(luò)實(shí)驗(yàn)室的設(shè)計(jì)

2010-08-30 04:24徐園園鄭力新
關(guān)鍵詞:用戶程序扇區(qū)服務(wù)器端

徐園園,鄭力新

(華僑大學(xué)信息科學(xué)與工程學(xué)院,福建 泉州 362021)

利用ISP技術(shù)的控制系統(tǒng)網(wǎng)絡(luò)實(shí)驗(yàn)室的設(shè)計(jì)

徐園園,鄭力新

(華僑大學(xué)信息科學(xué)與工程學(xué)院,福建 泉州 362021)

將在系統(tǒng)編程(ISP)技術(shù)和虛擬儀器有機(jī)結(jié)合,開發(fā)網(wǎng)絡(luò)化的單片機(jī)實(shí)驗(yàn)系統(tǒng),實(shí)現(xiàn)虛擬實(shí)驗(yàn)室的遠(yuǎn)程實(shí)時(shí)功能.用戶可在遠(yuǎn)程的客戶端在線實(shí)時(shí)地調(diào)試自己編寫的單片機(jī)程序,通過網(wǎng)絡(luò)對(duì)服務(wù)器端(實(shí)驗(yàn)室)的單片機(jī)進(jìn)行遠(yuǎn)程在系統(tǒng)編程和實(shí)驗(yàn)開發(fā),完善網(wǎng)絡(luò)控制實(shí)驗(yàn)室的功能.經(jīng)測(cè)試,系統(tǒng)操作靈活,運(yùn)行可靠.

網(wǎng)絡(luò)實(shí)驗(yàn)室;虛擬儀器;單片機(jī);在系統(tǒng)編程

在早期設(shè)計(jì)的網(wǎng)絡(luò)實(shí)驗(yàn)室系統(tǒng)中,由設(shè)計(jì)者編好單片機(jī)控制程序,用戶只能在客戶端通過調(diào)節(jié)實(shí)驗(yàn)參數(shù)進(jìn)行控制系統(tǒng)的實(shí)驗(yàn),卻無法設(shè)計(jì)單片機(jī)程序.為此,本文將單片機(jī)的在系統(tǒng)編程(ISP)技術(shù)引進(jìn)控制系統(tǒng)網(wǎng)絡(luò)實(shí)驗(yàn)室,使用戶可在客戶端通過網(wǎng)絡(luò)對(duì)服務(wù)器端(實(shí)驗(yàn)室)的單片機(jī)進(jìn)行遠(yuǎn)程在系統(tǒng)編程和實(shí)驗(yàn)開發(fā).

1 控制系統(tǒng)架構(gòu)

單片機(jī)網(wǎng)絡(luò)虛擬實(shí)驗(yàn)系統(tǒng)的結(jié)構(gòu)框圖,如圖1所示.它采用C/S模式,但不是一般意義的“胖客戶端/瘦服務(wù)器”,而是針對(duì)高校實(shí)驗(yàn)室的特點(diǎn)設(shè)計(jì)的一種服務(wù)器(實(shí)驗(yàn)服務(wù)器)與客戶端一一對(duì)應(yīng)的實(shí)驗(yàn)系統(tǒng)[1-2],由客戶端、服務(wù)器及單片機(jī)硬件電路3部分構(gòu)成[3].

用戶程序運(yùn)行過程中的狀態(tài)和數(shù)據(jù)由服務(wù)器端負(fù)責(zé)采集,服務(wù)器端把采集到的電機(jī)速度、誤差數(shù)據(jù)、控制數(shù)據(jù)等通過網(wǎng)絡(luò)傳送到客戶端,客戶端再把這些數(shù)據(jù)顯示給用戶.

圖1 控制系統(tǒng)的結(jié)構(gòu)圖Fig.1 Control system diagram

2 上位機(jī)實(shí)現(xiàn)

系統(tǒng)的上位機(jī)功能要求客戶端通過網(wǎng)絡(luò)遠(yuǎn)程控制服務(wù)器,并通過服務(wù)器端與單片機(jī)的RS232接口實(shí)現(xiàn)單片機(jī)程序的自動(dòng)下載.其設(shè)計(jì)包括客戶端和服務(wù)器兩部分.

2.1 客戶端實(shí)現(xiàn)

首先,用戶在客戶端使用WAVE等常用編譯器進(jìn)行源代碼的編輯、編譯及調(diào)試,將單片機(jī)實(shí)驗(yàn)程序編譯成HEX或BIN文件;然后,客戶端通過基于Lab Windows/CVI平臺(tái)的控制系統(tǒng)網(wǎng)絡(luò)實(shí)驗(yàn)室,應(yīng)用TCP/IP協(xié)議將HEX或BIN文件發(fā)送到服務(wù)器端,以便單片機(jī)實(shí)現(xiàn)對(duì)其下載運(yùn)行.最后,將單片機(jī)的運(yùn)行結(jié)果從服務(wù)器端通過網(wǎng)絡(luò)返回客戶端的面板顯示.

2.2 服務(wù)器實(shí)現(xiàn)

在服務(wù)器端利用計(jì)算機(jī)串口進(jìn)行ISP編程方式下的程序下載.服務(wù)器接收到客戶端的ISP更新請(qǐng)求后,接收用戶的目標(biāo)程序即HEX或BIN文件形成的字節(jié)流到一個(gè)數(shù)組.然后向單片機(jī)傳送ISP更新命令,并通過RS232串口向單片機(jī)發(fā)送該字節(jié)流.用戶程序下載結(jié)束后,服務(wù)端自動(dòng)向單片機(jī)發(fā)送復(fù)位信號(hào),用戶程序開始運(yùn)行.

要實(shí)現(xiàn)自動(dòng)下載功能必須實(shí)現(xiàn)Lab Windows/CVI環(huán)境下對(duì)HEX文件的解析.其具體實(shí)現(xiàn)過程有如下3個(gè)步驟.

(1)讀取HEX文件.可用CVI函數(shù)IntFileSelectPopup(),GetFileInfo(path,&filesize)等來實(shí)現(xiàn)[4].

(2)對(duì)照ASCII碼轉(zhuǎn)換表,將HEX文件轉(zhuǎn)化成十六進(jìn)制的ASCII碼.由于讀取的是HEX文件的十六進(jìn)制字符的ASCII碼的值,要把其轉(zhuǎn)化成十六進(jìn)制碼的真正表達(dá)的數(shù)值大小,應(yīng)參照ASCII碼表做出1~16的碼制轉(zhuǎn)換.需要注意的是,讀取的HEX文件中的換行和行頭的“:”也代表一個(gè)的ASCII的值,要把其剔出.

(3)剔除標(biāo)識(shí)符之類的字符.得到真正十六進(jìn)制碼后,還需再對(duì)每行的ASCII碼進(jìn)行分析,把其中的標(biāo)識(shí)符等無效字符進(jìn)一步剔除,就可得到單片機(jī)程序的有效數(shù)碼.

其主要源代碼如下:

3 單片機(jī)的ISP功能實(shí)現(xiàn)

C8051F310(美國Cygnal公司)一般都固化有ISP引導(dǎo)程序,但該引導(dǎo)程序是針對(duì)與它配套的IDE軟件來設(shè)計(jì)的,這顯然不能達(dá)到設(shè)計(jì)要求.因此,需要重新編寫ISP引導(dǎo)程序.

3.1 硬件電路設(shè)計(jì)

單片機(jī)硬件電路即下位機(jī)部分,其主要任務(wù)是接收并響應(yīng)上位機(jī)傳來的信息,對(duì)各種實(shí)驗(yàn)對(duì)象進(jìn)行控制,對(duì)運(yùn)行所得的有用數(shù)據(jù)進(jìn)行顯示,并通過串口回送給上位機(jī).圖2為單片機(jī)硬件電路的原理框圖.

圖2 硬件電路的原理框圖Fig.2 Block diagram of the hardware circuit

3.2 ISP編程

對(duì)C8051F310的16KB的FLASH進(jìn)行了3段分區(qū),分別為引導(dǎo)程序區(qū)(4KB)、用戶程序區(qū)(8KB)和固化程序區(qū)(4KB).引導(dǎo)程序區(qū)存放系統(tǒng)初始化、程序更新及如何跳轉(zhuǎn)的代碼;用戶程序區(qū)存放用戶自己編寫的程序代碼;固化程序區(qū)存放設(shè)計(jì)者已編好的默認(rèn)程序代碼.從服務(wù)器下載的程序存放在一個(gè)8KB的外部數(shù)據(jù)存儲(chǔ)器,同時(shí)置位程序更新位,以使引導(dǎo)程序能正確查詢.

引導(dǎo)程序的流程圖,如圖3所示.單片機(jī)開始運(yùn)行后,先進(jìn)行初始化設(shè)置,包括初始化定時(shí)器/計(jì)數(shù)器、設(shè)定串行口波特率及其工作方式、設(shè)定中斷優(yōu)先級(jí)、啟動(dòng)定時(shí)器等.然后,讀取更新位并進(jìn)行判斷.若更新位為1,調(diào)用更新用戶程序區(qū)的子程序,執(zhí)行用戶程序的更新并跳轉(zhuǎn)到用戶程序區(qū);若更新位為0,跳轉(zhuǎn)到固化程序區(qū).如果單片機(jī)已經(jīng)進(jìn)入固化程序區(qū),此時(shí)若接收到服務(wù)器的ISP命令,則在完成接收代碼后,跳轉(zhuǎn)到引導(dǎo)程序的更新部分,執(zhí)行程序更新并跳轉(zhuǎn)到用戶程序區(qū).

圖3 引導(dǎo)程序的流程圖Fig.3 Guide the process flow chart

FLASH存儲(chǔ)區(qū)要求在寫入新值之前,必須先擦除待編程地址的數(shù)據(jù),F(xiàn)LASH存儲(chǔ)器是以512B的扇區(qū)為單位組織的,一次擦除操作將擦除整個(gè)扇區(qū).因此,子程序中對(duì)FLASH的擦除和寫操作都是以扇區(qū)為單位的.首先,先擦除一個(gè)扇區(qū);其次,讀取外部數(shù)據(jù)存儲(chǔ)器(XRAM),寫入已擦除的扇區(qū);然后扇區(qū)數(shù)加1并判斷是否為16(8KB=512B×16),直到等于16,退出子程序.在對(duì)FLASH存儲(chǔ)器編程的過程中,要注意FLASH鎖定和關(guān)鍵碼功能、FLASH的擦除及寫操作[5].

從用戶軟件寫和擦除FLASH受FLASH鎖定和關(guān)鍵碼功能的保護(hù).在進(jìn)行FLASH操作之前,必須按順序向FLASH鎖定和關(guān)鍵碼寄存器(FL KEY)寫入正確的關(guān)鍵碼0xA5,0xF1.在使用MOVX指令對(duì)FLASH存儲(chǔ)器寫入之前,必須先允許FLASH寫操作.

擦除一個(gè)扇區(qū)有如下6個(gè)步驟:(1)禁止中斷;(2)置“1”程序存儲(chǔ)器擦除允許位(PSCTL中的PSEE),以允許FLASH扇區(qū)擦除;(3)置“1”程序存儲(chǔ)器寫允許位(PSCTL中的PSWE),以允許FLASH寫入;(4)向FL KEY寫第1個(gè)關(guān)鍵碼(0xA5);(5)向FL KEY寫第2個(gè)關(guān)鍵碼(0xF1);(6)用MOVX指令向待擦除頁內(nèi)的任何一個(gè)地址寫入一個(gè)數(shù)據(jù)字節(jié).

允許FLASH寫操作的過程:(1)將程序存儲(chǔ)寫允許位PSWE(PSCTL.0)設(shè)置為邏輯“1”;(2)按順序向FLASH鎖定寄存器(FL KEY)寫入FLASH關(guān)鍵碼.PSWE位將保持置位狀態(tài),直到被軟件清除.寫FLASH存儲(chǔ)器可以清除數(shù)據(jù)位,但不能使數(shù)據(jù)位置“1”,只有擦除操作能將FLASH中的數(shù)據(jù)位置“1”.因此,在寫入新值之前,必須先擦除待編程的地址.

4 運(yùn)行實(shí)例

以直流電機(jī)轉(zhuǎn)速實(shí)驗(yàn)為例.通過基于ISP技術(shù)的單片機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng),用戶可在客戶端編寫電機(jī)控制實(shí)驗(yàn)的單片機(jī)程序,并將其下載到遠(yuǎn)程服務(wù)器端的單片機(jī)系統(tǒng)中.經(jīng)過實(shí)驗(yàn)運(yùn)行,可達(dá)到實(shí)時(shí)控制直流電機(jī)轉(zhuǎn)速的系統(tǒng)要求.客戶端的運(yùn)行結(jié)果,如圖4所示.

圖4 客戶端運(yùn)行結(jié)果Fig.4 The results of clients running

5 結(jié)束語

將ISP技術(shù)和虛擬儀器有機(jī)結(jié)合,開發(fā)了網(wǎng)絡(luò)化的單片機(jī)實(shí)驗(yàn)系統(tǒng),從而實(shí)現(xiàn)了虛擬實(shí)驗(yàn)室的遠(yuǎn)程實(shí)時(shí)功能.該系統(tǒng)操作靈活,運(yùn)行可靠,為組建基于網(wǎng)絡(luò)的單片機(jī)實(shí)驗(yàn)開發(fā)系統(tǒng)提供一種新思路,可在高校和科研機(jī)構(gòu)等推廣應(yīng)用.

[1]INGVAR G.Remote laboratory experiments in electrical engineering education[C]//Proceedings of Fourth IEEE International Caracas Conference on Devices,Circuits and Systems.Aruba:IEEE,2002:1-5.

[2]DEEPAK S,BABU J.An internet-mediated-process control laboratory[J].IEEE Control Systems Magazine,2003,23(1):11-18.

[3]徐園園,鄭力新.TCP/IP和DataSocket技術(shù)在網(wǎng)絡(luò)虛擬實(shí)驗(yàn)室中的應(yīng)用[J].電氣電子教學(xué)學(xué)報(bào),2007,29(4):85-87.

[4]張毅剛,喬立巖.虛擬儀器軟件開發(fā)環(huán)境Lab Windows/CVI編程指南[M].北京:機(jī)械工業(yè)出版社,2002.

[5]張迎新,雷文,姚靜波.C8051F系列SOC單片機(jī)原理及應(yīng)用[M].北京:國防工業(yè)出版社,2005.

Design of the Network Control System Laboratory Based on ISP Technology

XU Yuan-yuan,ZHEN G Li-xin
(College of Information Science and Engineering,Huaqiao University,Quanzhou 362021,China)

This article designs the network single-chip experimental system by the combination of in-system programming(ISP)technology and virtual instruments.Through internet,users on the client can remotely debug their single-chip program,and program in the system to the single-chip on the server side(Lab).ISP technology makes functions of the network control laboratory more perfect.After testing,the system is flexible and reliable.

network laboratory;virtual instrument;single-chip;in-system programming

TP 391.9;TP 273+.5

A

1000-5013(2010)04-400-04

(責(zé)任編輯:魯 斌 英文審校:吳逢鐵)

2009-02-19

徐園園(1980-),女,助教,主要從事虛擬儀器及智能檢測(cè)控制技術(shù)的研究.E-mail:hixyy@126.com.

教育部科技研究重點(diǎn)項(xiàng)目(207145)

猜你喜歡
用戶程序扇區(qū)服務(wù)器端
分階段調(diào)整增加扇區(qū)通行能力策略
Linux環(huán)境下基于Socket的數(shù)據(jù)傳輸軟件設(shè)計(jì)
變速箱控制系統(tǒng)Bootloader設(shè)計(jì)與實(shí)現(xiàn)
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
U盤故障排除經(jīng)驗(yàn)談
基于CCS5.5的TMS320C6000程序Flash上電自舉設(shè)計(jì)及三種固化方法對(duì)比
基于Qt的安全即時(shí)通訊軟件服務(wù)器端設(shè)計(jì)
基于貝葉斯估計(jì)的短時(shí)空域扇區(qū)交通流量預(yù)測(cè)
重建分區(qū)表與FAT32_DBR研究與實(shí)現(xiàn)
C8051F410單片機(jī)BootLoader的實(shí)現(xiàn)