www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]在各種單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)中,常常遇到單片機(jī)與PC的通信問(wèn)題,在速度要求不高、傳送距離不遠(yuǎn)的場(chǎng)合一般采用RS 232標(biāo)準(zhǔn)串行接口實(shí)現(xiàn),在傳送距離較遠(yuǎn)的場(chǎng)合,也有學(xué)者研究

在各種單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)中,常常遇到單片機(jī)與PC的通信問(wèn)題,在速度要求不高、傳送距離不遠(yuǎn)的場(chǎng)合一般采用RS 232標(biāo)準(zhǔn)串行接口實(shí)現(xiàn),在傳送距離較遠(yuǎn)的場(chǎng)合,也有學(xué)者研究通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)PC間的通信。但是,要同時(shí)滿足高速度和遠(yuǎn)距離PC與單片機(jī)通信這是一個(gè)迫切需要解決的問(wèn)題。隨著信息技術(shù)的發(fā)展,計(jì)算機(jī)和網(wǎng)絡(luò)越來(lái)越普及,對(duì)單片機(jī)的遠(yuǎn)程控制與測(cè)量的要求也越來(lái)越多。本文在結(jié)合現(xiàn)有研究的基礎(chǔ)上,對(duì)相關(guān)的設(shè)計(jì)進(jìn)行一定的改進(jìn)和創(chuàng)新,設(shè)計(jì)一個(gè)遠(yuǎn)程通信系統(tǒng),他由3部分構(gòu)成:遠(yuǎn)端PC、本地端PC和單片機(jī)系統(tǒng)。通過(guò)VB可視化編程,遠(yuǎn)端PC利用局域網(wǎng)向本地端PC發(fā)出命令,本地端PC接到命令后,自動(dòng)與單片機(jī)通過(guò)打印機(jī)接口以EPP1.9協(xié)議進(jìn)行通信(串行接口作為備用通信口),并將接到的單片機(jī)數(shù)據(jù)實(shí)時(shí)傳送給遠(yuǎn)端 PC,以實(shí)現(xiàn)高速遠(yuǎn)程情況下PC與單片機(jī)通信的要求。

1 系統(tǒng)結(jié)構(gòu)與設(shè)計(jì)

系統(tǒng)構(gòu)成如圖1所示,遠(yuǎn)端PC通過(guò)局域網(wǎng)和本地PC通信,在通信中使用Winsock控件和TCP/1P協(xié)議;本地端PC通過(guò)并行通信接口或串行通信接口與單片機(jī)通信,在并口通信中使用WINIO并口通信驅(qū)動(dòng)程序、EPP協(xié)議和LPT打印機(jī)接口,在串口通信中使用MsComm控件、RS 232C協(xié)議和COM口。在此結(jié)構(gòu)中,本地PC端起到中繼的作用,當(dāng)本地端PC接收到從遠(yuǎn)端PC傳送過(guò)來(lái)的命令,在選擇通信方式后,與單片機(jī)通信,使單片機(jī)向遠(yuǎn)端PC傳送數(shù)據(jù)。

 

2 遠(yuǎn)端PC與本地端PC通信設(shè)計(jì)

TCP/IP是目前在網(wǎng)絡(luò)通信中廣泛采用的一組完整的網(wǎng)絡(luò)協(xié)議,該協(xié)議的核心是TCP,IP和UDP協(xié)議。TCP/IP網(wǎng)絡(luò)環(huán)境下應(yīng)用程序通過(guò)網(wǎng)絡(luò)系統(tǒng)編程界面套接字(Socket)實(shí)現(xiàn)與內(nèi)核的交互。利用Socket通信編程接口編寫(xiě)程序,其目的是在TCP/IP所組建網(wǎng)絡(luò)的不同機(jī)器之間利用客戶/服務(wù)器模式建立通信連接,開(kāi)發(fā)人員只要提供一些基本的連接信息,其余由操作系統(tǒng)內(nèi)核完成。WinSock(Windows Socket)是Windows操作系統(tǒng)下的通用的TCP/IP應(yīng)用程序的網(wǎng)絡(luò)編程接口,通過(guò)調(diào)用WinSock的接口函數(shù)來(lái)調(diào)用TCP/IP的各種功能。在VB 6.0中,WinSock控件對(duì)Windows Sockets API進(jìn)行封裝,使用程序員可以不必了解TCP/IP或調(diào)用底層WinSock API的具體細(xì)節(jié),只要設(shè)置好相應(yīng)屬性,在觸發(fā)的事件過(guò)程中作好相應(yīng)處理,就能編寫(xiě)出網(wǎng)絡(luò)應(yīng)用程序。

遠(yuǎn)端PC與本地端PC通信通過(guò)VB 6.0調(diào)用WinSock控件實(shí)現(xiàn),圖2(a),(b)分別為其控制界面。需說(shuō)明以下幾點(diǎn):遠(yuǎn)端PC選擇好要連接的本地端PC的IP地址和網(wǎng)絡(luò)傳送端口后,再發(fā)起聯(lián)機(jī)申請(qǐng);本地端PC網(wǎng)絡(luò)傳送端口必須和遠(yuǎn)端PC傳送端口一致,串行端口選擇是COM1/COM2,并行端口輸入并口地址(378H);遠(yuǎn)端 PC在命令輸入?yún)^(qū)輸入命令后,發(fā)送命令按鈕才有效;回傳數(shù)據(jù)區(qū)存放單片機(jī)傳送回來(lái)的實(shí)時(shí)數(shù)據(jù)并可保存成文本文件,信息區(qū)存放網(wǎng)絡(luò)工作狀態(tài)、遠(yuǎn)端PC的命令,及單片機(jī)數(shù)據(jù)傳送情況。其工作過(guò)程如圖2(c)所示。

 

3 本地端PC與單片機(jī)通信設(shè)計(jì)

3.1 本地端PC與單片機(jī)并口通信設(shè)計(jì)

3.1.1 并行通信接口及協(xié)議

在速率要求較高的場(chǎng)合,可以利用PC機(jī)上的打印機(jī)接口(CENTRONICS標(biāo)準(zhǔn),DB-25芯針座,TTL電平)實(shí)現(xiàn)。并口通信有SPP、EPP和ECP三種工作模式。本文采用EPP協(xié)議。

(1)EPP協(xié)議

增強(qiáng)型并行接口協(xié)議EPP(Enhanced Parallel Port),為PC和外設(shè)之間定義了并行雙向通信的標(biāo)準(zhǔn),該協(xié)議通過(guò)硬件自動(dòng)握手,能達(dá)到500 kB/S~2 MB/s的通信速率,適合大量數(shù)據(jù)傳輸?shù)耐庠O(shè)進(jìn)行告訴通信。EPP分為EPP1.7和EPP1.9,二者之間的區(qū)別是:EPP1.9需要判斷超時(shí)(避免出現(xiàn)“死循環(huán)”)以及nwait信號(hào)是否有效,而EPP1.7不需要判斷,傳輸速度更快。EPP協(xié)議支持4種操作,包括數(shù)據(jù)寫(xiě)出、地址寫(xiě)出、數(shù)據(jù)讀取和地址讀取。

(2) EPP協(xié)議的寄存器地址及一些主要的引腳定義。

 

3.1.2 WINIO并口通信驅(qū)動(dòng)程序

在VB中無(wú)法直接使用輸入/輸出指令來(lái)完成對(duì)端口的訪問(wèn),尤其是Windows 2000/XP系統(tǒng)對(duì)端口的保護(hù)更加嚴(yán)格。要對(duì)端口進(jìn)行訪問(wèn),一般有2種方法:第一種是通過(guò)C/C++等編程軟件開(kāi)發(fā)一些動(dòng)態(tài)鏈接庫(kù)(DLL)或 ActiveX控件用于在VB中調(diào)用來(lái)完成對(duì)底層硬件的控制;第二種更為簡(jiǎn)便的方法是到互聯(lián)網(wǎng)上去尋找一些免費(fèi)的DLL或ActiveX控件,本系統(tǒng)使用的是網(wǎng)絡(luò)上免費(fèi)的動(dòng)態(tài)鏈接庫(kù)文件WINIO.DLL(適用于Windows 2000/XP),主要實(shí)現(xiàn)了對(duì)底層并行端口使用的方法。WINIO是一個(gè)綠色環(huán)保軟件,他不需要向注冊(cè)表中添加任何信息,只要把 WINIO.VXD,WINIO.SYS,WINIO.DLL放在應(yīng)用程序所在的文件夾下就可以。在使用的時(shí)候,直接將WINIO.BAS引用到工程中,就可以實(shí)現(xiàn)對(duì)端口的控制和訪問(wèn)。

3.1.3 并口通信設(shè)計(jì)

如圖3所示,打印機(jī)口通過(guò)單片機(jī)的P1口傳送數(shù)據(jù),nWait和nDstorbe通過(guò)P2.0和P2.1與單片機(jī)連接。并行接口與單片機(jī)相連一般有兩種方式:一種是直接連接,另一種是使用雙向驅(qū)動(dòng)器或鎖存器的總線方式。本系統(tǒng)采用第一種方式,能最大限度發(fā)揮EPP速度快的優(yōu)勢(shì),但單片機(jī)易受到不穩(wěn)定信號(hào)的干擾。EPP模式為雙向傳輸協(xié)議,為了簡(jiǎn)化設(shè)計(jì),只進(jìn)行采用單片機(jī)向PC傳送數(shù)據(jù)的單向讀傳送,并口采用EPP1.9模式,支持超時(shí)和 nwait判斷。

本地端PC通過(guò)并口與單片機(jī)通信的VB源程序如下:

 

3.2 本地端PC與單片機(jī)串口通信設(shè)計(jì)

MsComm控件是Microsoft公司提供的簡(jiǎn)化Windows下串行通信編程的ActiveX控件,他為應(yīng)用程序提供通過(guò)串行接口收發(fā)數(shù)據(jù)的簡(jiǎn)便方法。該控件具有完善的串口數(shù)據(jù)的發(fā)送和接收功能。通過(guò)此控件,PC機(jī)可以利用串行口與其他設(shè)備實(shí)現(xiàn)輕松連接,簡(jiǎn)單高效地實(shí)現(xiàn)設(shè)備之間的通訊。

 

PC串行接口COM1/COM2信號(hào)符合RS 232C電氣標(biāo)準(zhǔn),而單片機(jī)串行接口采用TTL邏輯電平,實(shí)現(xiàn)二者之間的異步串行通信需要電平轉(zhuǎn)換芯片。單片機(jī)串行接口有一個(gè)全雙工串行接口,經(jīng)過(guò)MAX 232芯片可方便地轉(zhuǎn)換成RS 232電氣標(biāo)準(zhǔn)。

本系統(tǒng)以串行通信為備用通信方式,本地端PC通過(guò)串口與單片機(jī)通信的VB源程序如下:

 

[!--empirenews.page--]

3.3 單片機(jī)程序設(shè)計(jì)

單片機(jī)部分可進(jìn)行并口和串口2種方式的通信,用匯編語(yǔ)言編寫(xiě)通信子程序。在這里分別給出2種方式的程序流程圖。

 

本系統(tǒng)有如下特色:本地端PC起到中繼作用;這里使用局域網(wǎng)(如果要使用Internet,必須為本地端PC提供固定的IP地址),當(dāng)網(wǎng)絡(luò)連接中斷時(shí),可自動(dòng)重新連接;本地端PC采用并口和串口2種方式與單片機(jī)通信。并口采用EPP1.9模式,單片機(jī)也可判斷超時(shí);遠(yuǎn)端PC可實(shí)時(shí)讀取單片機(jī)中的數(shù)據(jù)。

本文利用了VB面向?qū)ο蠛涂梢暬幊痰奶攸c(diǎn),將網(wǎng)絡(luò)、并口、串口通信方式相結(jié)合實(shí)現(xiàn)了遠(yuǎn)程PC與單片機(jī)系統(tǒng)的通信,并在大功率開(kāi)關(guān)電源控制系統(tǒng)上測(cè)試,可完全正常運(yùn)轉(zhuǎn)。本系統(tǒng)給出的方法,對(duì)其他PC通信場(chǎng)合亦有一定參考價(jià)值。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

8位單片機(jī)在嵌入式設(shè)計(jì)領(lǐng)域已經(jīng)成為半個(gè)多世紀(jì)以來(lái)的主流選擇。盡管嵌入式系統(tǒng)市場(chǎng)日益復(fù)雜,8位單片機(jī)依然不斷發(fā)展,積極應(yīng)對(duì)新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機(jī)系列,配備了先進(jìn)的獨(dú)立...

關(guān)鍵字: 單片機(jī) 嵌入式 CPU

在嵌入式系統(tǒng)開(kāi)發(fā)中,程序燒錄是連接軟件設(shè)計(jì)與硬件實(shí)現(xiàn)的關(guān)鍵環(huán)節(jié)。當(dāng)前主流的單片機(jī)燒錄技術(shù)已形成ICP(在電路編程)、ISP(在系統(tǒng)編程)、IAP(在應(yīng)用編程)三大技術(shù)體系,分別對(duì)應(yīng)開(kāi)發(fā)調(diào)試、量產(chǎn)燒錄、遠(yuǎn)程升級(jí)等不同場(chǎng)景。...

關(guān)鍵字: 單片機(jī) ISP ICP IAP 嵌入式系統(tǒng)開(kāi)發(fā)

在嵌入式系統(tǒng)開(kāi)發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時(shí)機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個(gè)維度,系統(tǒng)分析看門狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門狗 嵌入式系統(tǒng)

本文中,小編將對(duì)單片機(jī)予以介紹,如果你想對(duì)它的詳細(xì)情況有所認(rèn)識(shí),或者想要增進(jìn)對(duì)它的了解程度,不妨請(qǐng)看以下內(nèi)容哦。

關(guān)鍵字: 單片機(jī) 開(kāi)發(fā)板 Keil

隨著單片機(jī)系統(tǒng)越來(lái)越廣泛地應(yīng)用于消費(fèi)類電子、醫(yī)療、工業(yè)自動(dòng)化、智能化儀器儀表、航空航天等各領(lǐng)域,單片機(jī)系統(tǒng)面臨著電磁干擾(EMI)日益嚴(yán)重的威脅。電磁兼容性(EMC)包含系統(tǒng)的發(fā)射和敏感度兩方面的問(wèn)題。

關(guān)鍵字: 單片機(jī) 電磁兼容

以下內(nèi)容中,小編將對(duì)單片機(jī)的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對(duì)單片機(jī)的了解,和小編一起來(lái)看看吧。

關(guān)鍵字: 單片機(jī) 復(fù)位電路

在這篇文章中,小編將為大家?guī)?lái)單片機(jī)的相關(guān)報(bào)道。如果你對(duì)本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 單片機(jī) 異常復(fù)位

今天,小編將在這篇文章中為大家?guī)?lái)單片機(jī)的有關(guān)報(bào)道,通過(guò)閱讀這篇文章,大家可以對(duì)它具備清晰的認(rèn)識(shí),主要內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 仿真器

單片機(jī)將是下述內(nèi)容的主要介紹對(duì)象,通過(guò)這篇文章,小編希望大家可以對(duì)它的相關(guān)情況以及信息有所認(rèn)識(shí)和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 中斷 boot

一直以來(lái),單片機(jī)都是大家的關(guān)注焦點(diǎn)之一。因此針對(duì)大家的興趣點(diǎn)所在,小編將為大家?guī)?lái)單片機(jī)的相關(guān)介紹,詳細(xì)內(nèi)容請(qǐng)看下文。

關(guān)鍵字: 單片機(jī) 數(shù)字信號(hào) 模擬信號(hào)
關(guān)閉