日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

利用互聯(lián)網(wǎng)的遠(yuǎn)程在系統(tǒng)編程

出處:gxmlsl 發(fā)布于:2007-05-25 13:01:51

摘 要: 介紹了利用互聯(lián)網(wǎng)技術(shù)及其TCP/IP協(xié)議研制開(kāi)發(fā)的遠(yuǎn)程在系統(tǒng)編程工具。使用該工具可對(duì)用PLD器件設(shè)計(jì)的電子系統(tǒng)、設(shè)備、消費(fèi)產(chǎn)品進(jìn)行遠(yuǎn)程監(jiān)控、調(diào)試或升級(jí)。該工具可供電子產(chǎn)品的研制生產(chǎn)商使用,也可供開(kāi)設(shè)遠(yuǎn)程數(shù)字邏輯電路課程、數(shù)字系統(tǒng)設(shè)計(jì)課程的學(xué)校使用。
關(guān)鍵詞 PLD 遠(yuǎn)程isp 互聯(lián)網(wǎng) TCP/IP

 

1 問(wèn)題的提出
自二十世紀(jì)80年代以來(lái),可編程邏輯器件(PLD)技術(shù)發(fā)展非常迅速。由于PLD是作為一種通用器件生產(chǎn)的,而它的邏輯功能是由用戶通過(guò)對(duì)器件編程實(shí)現(xiàn)的,隨著PLD的集成度越來(lái)越高,速度越來(lái)越快,設(shè)計(jì)越來(lái)越方便靈活,因而日益成為專用集成電路ASIC設(shè)計(jì)的主流方法。特別是二十世紀(jì)90年代新一代在系統(tǒng)編程技術(shù)isp的推出,取消了專用編程設(shè)備,器件本身也不必從系統(tǒng)電路板上取下,便可以使用硬件描述語(yǔ)言和電路圖方法在系統(tǒng)內(nèi)編程。這一創(chuàng)舉使現(xiàn)代電子系統(tǒng)設(shè)計(jì)的方法前進(jìn)了一大步,設(shè)計(jì)周期大大縮短,效率大為提高,并且十分有利于產(chǎn)品的升級(jí)和更新?lián)Q代。
一個(gè)數(shù)字系統(tǒng)的自動(dòng)設(shè)計(jì)流程,可以分為四個(gè)階段。首先是對(duì)系統(tǒng)的功能進(jìn)行分析,利用原理圖或硬件描述語(yǔ)言表達(dá)設(shè)計(jì)者的意圖;第二是步利用仿真工具對(duì)設(shè)計(jì)者的想法進(jìn)行測(cè)試仿真,以便發(fā)現(xiàn)設(shè)計(jì)中的缺陷和錯(cuò)誤;第三步是將前兩步生成的文件進(jìn)行編譯并和具體器件相適配,生成具體芯片的融絲圖文件;一步就是將融絲圖文件通過(guò)編程電纜到包含有PLD的設(shè)備中,從而實(shí)現(xiàn)一個(gè)物理的數(shù)字系統(tǒng),如圖1(a)所示。

在這四個(gè)階段中,前三步都可以在計(jì)算機(jī)上使用不同軟件工具實(shí)現(xiàn),而一步必須和具體的設(shè)備進(jìn)行連接,這意味著需要設(shè)計(jì)者親臨現(xiàn)場(chǎng)操作。設(shè)想如果產(chǎn)品發(fā)往外地,或是遠(yuǎn)涉重洋出口海外,就需要生成一個(gè)龐大的性售后服務(wù)網(wǎng)絡(luò)對(duì)產(chǎn)品跟蹤或更新,這對(duì)中小企業(yè)來(lái)說(shuō)根本不可想象。如何解決這個(gè)問(wèn)題呢?我們想到了無(wú)所不能的互聯(lián)網(wǎng)。既然中小企業(yè)的原材料供應(yīng)、成品銷售等可以受益于互聯(lián)網(wǎng),那么他們的技術(shù)性服務(wù)為什么不可以通過(guò)互聯(lián)網(wǎng)進(jìn)行呢?為此,我們利用互聯(lián)網(wǎng)及其TCP/IP協(xié)議開(kāi)發(fā)研制了一個(gè)遠(yuǎn)程在系統(tǒng)編程工具,使工程技術(shù)人員足不出戶就可以對(duì)他們利用PLD研制生產(chǎn)的遠(yuǎn)在千里之外的電子系統(tǒng)、電子設(shè)備進(jìn)行升級(jí)和維護(hù),如圖1(b)所示。

 

2 系統(tǒng)結(jié)構(gòu)
本工具采用了客戶服務(wù)器模式,由兩個(gè)部分組成。一個(gè)在用戶計(jì)算機(jī)上執(zhí)行,稱之為用戶端;另一個(gè)在設(shè)計(jì)者計(jì)算機(jī)上運(yùn)行,稱之為設(shè)計(jì)端。軟件編制使用C++語(yǔ)言,在C Builder環(huán)境下設(shè)計(jì)。程序中使用C Builder中提供的網(wǎng)絡(luò)通信控件,實(shí)現(xiàn)客戶和服務(wù)器之間的通信。本工具程序框圖見(jiàn)圖2。

首先由用戶端將設(shè)備和計(jì)算機(jī)通過(guò)電纜(使用并行口)連接在一起,并啟動(dòng)計(jì)算機(jī)運(yùn)行用戶端程序。用戶要做的就是這些,這些操作不需要任何知識(shí)。用戶端程序也不需要什么配置,只要它自動(dòng)掃描并發(fā)現(xiàn)接有設(shè)備的端口,并對(duì)之操作即可。
用戶端程序一旦運(yùn)行,設(shè)計(jì)端程序就可以啟動(dòng)。設(shè)計(jì)端首先輸入用戶端的IP地址,輸入不同的IP地址,就可以對(duì)不同的用戶端設(shè)備進(jìn)行操作。然后調(diào)入設(shè)計(jì)好的融絲圖文件,對(duì)文件的格式進(jìn)行檢查,顯示文件中的信息。文件中的信息指示該文件對(duì)哪些芯片編程,以及它們?cè)谠O(shè)備中的排列順序。
檢查正確后,就可以進(jìn)行網(wǎng)絡(luò)連接,并把文件內(nèi)容發(fā)送給用戶端。在用戶端將融絲圖到PLD芯片的過(guò)程中,用戶端應(yīng)用程序回送進(jìn)度給設(shè)計(jì)端,設(shè)計(jì)端就可以顯示進(jìn)度。如果一切正常,完畢后就關(guān)閉連接,結(jié)束通信。

 

3 技術(shù)實(shí)現(xiàn)
3.1 設(shè)計(jì)端
設(shè)計(jì)端界面為一窗體,窗體上有一個(gè)命令菜單、一個(gè)編輯控制(輸入或顯示打開(kāi)的文件路徑和文件名)、一個(gè)組合框(讓用戶選擇模式)、兩個(gè)顯示進(jìn)度和文件信息的備注控件,還有一個(gè)用于通信的客戶端套接字控件。
設(shè)置IP地址,點(diǎn)擊"命令/設(shè)置"時(shí)會(huì)顯示一個(gè)模式對(duì)話框。用戶可以在 "IP地址"編輯控制中輸入用戶端的IP地址,按"確定"該值將賦給客戶端套接字控件的屬性"Address",進(jìn)行網(wǎng)絡(luò)連接時(shí),將與擁有該IP地址的主機(jī)通信。在 "端口"編輯控制中輸入用戶端服務(wù)的TCP端口號(hào),按"確定"將該值賦給套接字控件的屬性"Port",進(jìn)行網(wǎng)絡(luò)連接時(shí),將與指定主機(jī)的服務(wù)端口通信。
文件,直接在編輯控制中輸入文件名或點(diǎn)擊"打開(kāi)文件",通過(guò)對(duì)話框得到文件的路徑。每次選擇一個(gè)isp文件, 所謂isp文件,是將標(biāo)準(zhǔn)的融絲圖JED文件采用一定的壓縮算法生成的。它比標(biāo)準(zhǔn)的JED文件要小,這樣時(shí)速度要快些。為了能夠成功,要對(duì)文件格式和內(nèi)容進(jìn)行檢查。檢查依據(jù)的是isp文件的頭格式,包括文件類型、芯片鏈中芯片的個(gè)數(shù)、擦除脈沖寬度、編程脈沖寬度、編程行數(shù)、每行長(zhǎng)度、芯片ID列表等。文件的個(gè)字節(jié)只要是(0Xf8 0x0B 0x0F 0x0A中的一個(gè),則該文件就是isp文件,不同數(shù)值分別代表不同類型的芯片和壓縮類型。
模式,文件選定后,必須選擇模式。共設(shè)四種模式:編程并校驗(yàn)、僅校驗(yàn)、僅校驗(yàn)UES、校驗(yàn)并顯示UES。其中UES是指存放在芯片中的用戶自定義信息,根據(jù)需要可以是設(shè)備的序列號(hào)或設(shè)備的標(biāo)識(shí)等信息,而與芯片的功能沒(méi)有關(guān)系。
編程并校驗(yàn),是指將文件內(nèi)容到芯片中,并在過(guò)程中從芯片讀出內(nèi)容,檢驗(yàn)是否正確。
僅校驗(yàn),是指讀出芯片中的內(nèi)容,并與文件內(nèi)容進(jìn)行比較,檢驗(yàn)兩者是否一致。
僅校驗(yàn)UES,是指檢驗(yàn)文件中的UES信息與芯片中的是否一致。
校驗(yàn)并顯示UES,是指把文件中的UES信息與芯片中的UES內(nèi)容進(jìn)行比較,檢驗(yàn)兩者是否一致。若一致,則顯示UES內(nèi)容,否則提示校驗(yàn)錯(cuò)誤。
模式選定后,就可以進(jìn)行網(wǎng)絡(luò)連接了。選擇菜單"命令\連接",調(diào)用網(wǎng)絡(luò)連接的代碼。一旦連接成功,系統(tǒng)會(huì)發(fā)連接成功"CONNECTED"消息。收到此消息后,程序會(huì)在此連接上發(fā)送一個(gè)雙字。若該值為1,則表示將發(fā)送一個(gè)文件,否則表示雙方可以用鍵盤(pán)進(jìn)行對(duì)話。如果沒(méi)有選擇文件,將自動(dòng)進(jìn)入對(duì)話狀態(tài)。若是對(duì)話狀態(tài),雙方可在窗體右邊的備注控件中輸入對(duì)話內(nèi)容,按回車(chē)鍵就會(huì)發(fā)送輸入內(nèi)容。若是狀態(tài),緊接著會(huì)發(fā)送一個(gè)雙字,表示模式。然后會(huì)再發(fā)送一個(gè)雙字,表示文件的長(zhǎng)度,發(fā)送整個(gè)文件內(nèi)容。
用戶端收到全部?jī)?nèi)容后,開(kāi)始。過(guò)程中用戶端把進(jìn)度發(fā)送給設(shè)計(jì)端,設(shè)計(jì)端收到后,將顯示收到的內(nèi)容。這樣,設(shè)計(jì)者就會(huì)看到進(jìn)度。
結(jié)束后,自動(dòng)進(jìn)入對(duì)話狀態(tài)。如果用戶端有人,雙方可以進(jìn)行簡(jiǎn)短對(duì)話,討論一些技術(shù)問(wèn)題。
運(yùn)行"命令\斷開(kāi)",則關(guān)斷網(wǎng)絡(luò)連接,結(jié)束本次過(guò)程。新的過(guò)程只要重新運(yùn)行"命令\連接"即可。
3.2 用戶端
用戶端窗體上有一個(gè)進(jìn)度條(顯示進(jìn)度)和兩個(gè)備注控件(顯示當(dāng)前用戶的工作狀態(tài),以及交談時(shí)的輸入輸出)。用戶端需要完成的功能比設(shè)計(jì)端復(fù)雜。主要有數(shù)據(jù)的接收、設(shè)備的自動(dòng)識(shí)別、具體的過(guò)程等。
程序運(yùn)行后,在收到窗體創(chuàng)建消息時(shí),將激活服務(wù)器套接字,并和TCP端口綁定,等待設(shè)計(jì)端進(jìn)程的連接。
只要運(yùn)行設(shè)計(jì)端"命令\連接",就會(huì)在用戶端產(chǎn)生網(wǎng)絡(luò)連接的消息。連接成功后,與設(shè)計(jì)端對(duì)應(yīng),收到的個(gè)雙字,代表本次連接是狀態(tài)還是對(duì)話狀態(tài)。若是1,則為,否則進(jìn)入對(duì)話狀態(tài)。若是對(duì)話狀態(tài),直接在備注控件中輸入對(duì)話內(nèi)容,按回車(chē)鍵即可。對(duì)方的談話會(huì)在另一個(gè)備注控件中顯示出來(lái)。
若是文件(這是常用的狀態(tài)),緊接著會(huì)收到一個(gè)雙字,代表模式(具體含義見(jiàn)前)。然后會(huì)再收到一個(gè)雙字,代表將要的文件長(zhǎng)度。若該值小于等于零,或等于0Xffffffff計(jì)算機(jī)中的-1,則提示發(fā)送方有錯(cuò),并關(guān)閉本次連接,否則將會(huì)接收全部文件內(nèi)容。文件的結(jié)束是靠文件長(zhǎng)度與收到字節(jié)數(shù)進(jìn)行比較,相等表示全部收到。全部收到后,即進(jìn)行。
編程電纜,過(guò)程與硬件密切相關(guān),我們使用編程電纜(共8根線使用其中的7根)與并行口連接。每個(gè)并行口有三個(gè)端口:數(shù)據(jù)、狀態(tài)、控制端口,每個(gè)端口占一個(gè)字節(jié)。具體定義如下:
在電纜內(nèi)部將并行口的8腳與12腳直接連接,用于檢測(cè)電纜是否已插到并行口上。向數(shù)據(jù)端口的第6位寫(xiě)數(shù)據(jù),再?gòu)臓顟B(tài)端口第5位讀入數(shù)據(jù),比較兩者是否一致,即可得知電纜是否連接。圖3給出了編程電纜及接插件的端口定義。
其它信號(hào)的含義及作用如下:
out_SDI 將isp數(shù)據(jù)從此腳串行輸出到芯片上;
out_SCLK 控制過(guò)程的時(shí)鐘信號(hào);
out_MODE 將isp命令從此腳串行輸出到芯片上;
out_ISP 控制芯片在正常工作模式和編程模式
之間切換;
in_SDO 從芯片上串行讀出isp數(shù)據(jù);
in_VCC_OK 用于檢測(cè)設(shè)備電源是否打開(kāi)。

的流程圖見(jiàn)圖4。

開(kāi)始首先掃描三個(gè)并行口端口。利用信號(hào)in_CABLE_SENSE_IN和in_VCC_OK檢測(cè)設(shè)備是否和計(jì)算機(jī)連接以及電源是否打開(kāi),兩個(gè)信號(hào)同時(shí)有,則表示該端口連接有設(shè)備。如果找不到設(shè)備,就給出提示并中斷這次過(guò)程。再檢查文件的類型,看設(shè)計(jì)端發(fā)送來(lái)的文件是否為合法的isp文件。否則給出提示并中斷這次過(guò)程。若合法,則接著讀出被編程芯片的編程、擦除時(shí)間以及編程行數(shù)等信息。其中編程和擦除時(shí)間的控制,是利用多媒體定時(shí)器實(shí)現(xiàn)的,可以實(shí)現(xiàn)準(zhǔn)確的脈沖延遲,保證擦除、編程的可靠性。隨后從芯片中讀出該設(shè)備中含有的芯片ID列表(ID列表與芯片型號(hào)有關(guān)),并與設(shè)計(jì)端的值進(jìn)行比較。若一致可以繼續(xù);否則給出提示并中斷本次過(guò)程。因?yàn)樾酒斜聿灰恢?,將?dǎo)致設(shè)備根本不能工作。
時(shí),通過(guò)out_SDI端將數(shù)據(jù)一個(gè)比特一個(gè)比特地串行輸出到芯片中,并從SDO端讀出剛寫(xiě)入芯片的數(shù)據(jù),與文件中應(yīng)寫(xiě)入的數(shù)據(jù)進(jìn)行比較校驗(yàn),以保證數(shù)據(jù)準(zhǔn)確地寫(xiě)入到芯片中。

 

4 出錯(cuò)處理
錯(cuò)誤的處理是軟件設(shè)計(jì)中十分重要的一個(gè)方面,本軟件同樣充分考慮各種意外和錯(cuò)誤,使得錯(cuò)誤的影響得到很好控制。本軟件中主要的出錯(cuò)處理就是對(duì)網(wǎng)絡(luò)錯(cuò)誤的處理,如設(shè)計(jì)端用戶輸入的IP地址或端口號(hào)不正確等。
C Builder中的網(wǎng)絡(luò)控件提供了出錯(cuò)的消息,對(duì)于因網(wǎng)絡(luò)連接、連接中斷或網(wǎng)絡(luò)超時(shí)等引起的問(wèn)題,該消息都會(huì)被觸發(fā)。消息被觸發(fā)時(shí),在消息處理函數(shù)中將一些變量重新初始化,并關(guān)斷網(wǎng)絡(luò)連接。值得一提的是,因計(jì)算機(jī)IP地址的設(shè)置而產(chǎn)生的網(wǎng)絡(luò)錯(cuò)誤消息將不會(huì)發(fā)給控件,例如:計(jì)算機(jī)的子網(wǎng)掩碼為255.255.255.0,本機(jī)地址為202.195.168.1,不設(shè)置網(wǎng)關(guān)。在這樣的配置下,如果與IP地址為202.195.200.1的主機(jī)進(jìn)行連接,將會(huì)產(chǎn)生網(wǎng)絡(luò)錯(cuò)誤"子網(wǎng)不可到達(dá)"而控件卻收不到這個(gè)消息。此時(shí)必須調(diào)用SetErrorProc,指定自己定義的網(wǎng)絡(luò)意外處理過(guò)程來(lái)替代默認(rèn)過(guò)程。新過(guò)程將捕獲所有網(wǎng)絡(luò)意外,從而避免該消息的遺漏。
另外對(duì)過(guò)程中出現(xiàn)的各種不正常情況都做了檢測(cè),例如:電纜沒(méi)有連接、設(shè)備電源沒(méi)有打開(kāi)、器件列表不符和校驗(yàn)錯(cuò)誤等。當(dāng)檢測(cè)到這些錯(cuò)誤時(shí),由于用戶端無(wú)人值守,因此將錯(cuò)誤信息回送設(shè)計(jì)端,并用適當(dāng)?shù)男问斤@示給設(shè)計(jì)者,以便設(shè)計(jì)人員做進(jìn)一步處理。

 

5 應(yīng)用范圍及前景
該工具可供所有使用PLD器件進(jìn)行設(shè)計(jì)和開(kāi)發(fā)電子產(chǎn)品及系統(tǒng)設(shè)備的公司或廠家使用。對(duì)于他們拓展業(yè)務(wù)范圍、提升產(chǎn)品價(jià)值、增加產(chǎn)品的信息技術(shù)含量、降低生產(chǎn)成本、爭(zhēng)取更多用戶、以信息化帶動(dòng)工業(yè)化等都具有深刻意義。
該工具也可供開(kāi)設(shè)數(shù)字邏輯電路和數(shù)字系統(tǒng)設(shè)計(jì)課程的相關(guān)學(xué)校使用,為教師在局域網(wǎng)上指導(dǎo)和批改學(xué)生的實(shí)驗(yàn)提供了方便,并可以把學(xué)生從都做同樣的單一實(shí)驗(yàn)這種傳統(tǒng)模式中解放出來(lái),有利于針對(duì)不同學(xué)生給出不同要求,同時(shí)也降低了教學(xué)成本。特別對(duì)遠(yuǎn)程教學(xué)而言,該工具為一直困擾工科院校的網(wǎng)上教學(xué)等問(wèn)題提供了一種具有開(kāi)拓意義的方法。隨著信息技術(shù)的進(jìn)一步發(fā)展,我們相信類似的應(yīng)用將成為互聯(lián)網(wǎng)應(yīng)用的一個(gè)新領(lǐng)域。



  
關(guān)鍵詞:利用互聯(lián)網(wǎng)的遠(yuǎn)程在系統(tǒng)編程

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買(mǎi)家服務(wù):
賣(mài)家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!