第一篇:?jiǎn)纹瑱C(jī)與GPRS模塊通訊開發(fā)的注意事項(xiàng)
單片機(jī)微控制器以其體積小、功耗低、使用方便等特點(diǎn),廣泛應(yīng)用于各種工業(yè)、民用的嵌入式系統(tǒng)中;而隨著互聯(lián)網(wǎng)(Internet)的興起與普及,使微控制器通過互聯(lián)網(wǎng)傳送數(shù)據(jù)就變得非常有意義。目前使微控制器上網(wǎng)的解決方案一般有兩種:一種是采用微控制器驅(qū)動(dòng)網(wǎng)卡,通過以太網(wǎng)連接Internet;另一種是使微控制器直接驅(qū)動(dòng)調(diào)制解調(diào)器(MODEM)通過電話線向ISP撥號(hào)上網(wǎng)。這兩種方案的缺點(diǎn)在于都要使用有線的網(wǎng)絡(luò),無法應(yīng)用于在邊遠(yuǎn)地區(qū)或可移動(dòng)系統(tǒng)中。
針對(duì)這一問題,提出一種基于GPRS的單片機(jī)上網(wǎng)的解決方案,即在單片機(jī)中實(shí)現(xiàn)PPP協(xié)議,并通過驅(qū)動(dòng)GPRS模塊經(jīng)過GPRS無線網(wǎng)連接到Internet實(shí)現(xiàn)上網(wǎng)。這種方案的優(yōu)點(diǎn)在于:① 覆蓋面廣,適用于廣大偏遠(yuǎn)地區(qū);② 無線上網(wǎng),適用于可移動(dòng)目標(biāo);③使用廉價(jià)的微控制器實(shí)現(xiàn)簡(jiǎn)單、成本低;④ 安裝簡(jiǎn)便,維護(hù)
方便。GPRS技術(shù)及其特點(diǎn)
GPRS(General Packet Radio Service)是通用分組無線業(yè)務(wù)的簡(jiǎn)稱,是在GSM基礎(chǔ)上發(fā)展起來的一種分組交換的數(shù)據(jù)承載和傳輸方式。與原有的GSM比較,GPRS在數(shù)據(jù)業(yè)務(wù)的承載和支持上具有非常明顯的優(yōu)勢(shì):通過多個(gè)GSM時(shí)隙的復(fù)用,支持的數(shù)據(jù)傳輸速率更高,理論峰值達(dá)115kb/s;不同的網(wǎng)絡(luò)用戶共享同一組GPRS信道,但只有當(dāng)某一個(gè)用戶需要發(fā)送或接收數(shù)據(jù)時(shí)才會(huì)占用信道資源。這樣,通過多用戶的業(yè)務(wù)復(fù)用,更有效地利用無線網(wǎng)絡(luò)信道資源,特別適合突發(fā)性、頻繁的小流量數(shù)據(jù)傳輸,很好地適應(yīng)數(shù)據(jù)業(yè)務(wù)的突發(fā)性特點(diǎn);GPRS計(jì)費(fèi)方式更加靈活,可以支持按數(shù)據(jù)流量來進(jìn)行計(jì)費(fèi);與無線應(yīng)用協(xié)議(WAP)技術(shù)不同,GPRS能夠隨時(shí)為用戶提供透明的IP通道,可直接訪問Internet中的所有站點(diǎn)和資源;采用信道復(fù)用技術(shù),每一個(gè)GPRS用戶都能夠?qū)崿F(xiàn)永遠(yuǎn)在線;另外,GPRS還能支持在進(jìn)行數(shù)據(jù)傳輸?shù)耐瑫r(shí)進(jìn)行語(yǔ)音通話等等,而且相對(duì)于短消息等其它無線數(shù)據(jù)通信業(yè)務(wù),GPRS的價(jià)格優(yōu)勢(shì)比較明顯。目前,我國(guó)移動(dòng)推出的GPRS上網(wǎng)業(yè)務(wù)最高每千字節(jié)也只有3分錢,而且用戶可以根據(jù)自己的需要,以月租、包月等多種形式進(jìn)一步降低GPRS通信的費(fèi)用。
因此使用GPRS實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)的傳送是非常經(jīng)濟(jì)實(shí)用的,特別是對(duì)于不易架設(shè)有線網(wǎng)絡(luò)的邊遠(yuǎn)地區(qū)和可移動(dòng)裝置。硬件連接和GPRS模塊設(shè)置
通過GPRS網(wǎng)進(jìn)行數(shù)據(jù)傳輸一般需要使用GPRS模塊。目前,GPRS模塊一般是指帶有GPRS功能的GSM模塊,可以利用GPRS網(wǎng)進(jìn)行數(shù)據(jù)通信。
其中比較流行的有法國(guó)Wave公司的WISMO系列和西門子公司的S系列等等。WAVECOM的WISMO模塊接口簡(jiǎn)單、使用方便且功能非常強(qiáng)大
其中GPRS模塊與單片機(jī)間是通過串行口進(jìn)行通信的,通信速率最快可以達(dá)到115 200b/s。模塊與控制器間的通信協(xié)議是AT命令集,其中大部分命令是符合協(xié)議“AT command set for GSM Mobile Equipment(ME)(GSM 07.07 version 6.4.0 Release 1997)”的,但也有一些是Wavecom自己定義的AT命令。除了串口發(fā)送(TX)、串口接收(RX)之外,微控制器與GPRS模塊之間還有一些硬件握手信號(hào),如DTR、CTS、DCD等。為了簡(jiǎn)化微控制器的控制,硬件設(shè)計(jì)時(shí)不要使用全部的硬件握手信號(hào),而只使用
數(shù)據(jù)載波檢測(cè)(Data Carrier Detect, DCD)和終端準(zhǔn)備(Data Terminal Ready, DTR)信號(hào)。
DCD信號(hào)可以檢測(cè)GPRS模塊是處于數(shù)據(jù)傳送狀態(tài)還是處于AT命令傳送狀態(tài)。DTR信號(hào)用來通知GPRS模塊傳送工作已經(jīng)結(jié)束。
硬件連接完成后,在進(jìn)行GPRS上網(wǎng)操作之前,首先要對(duì)GPRS模塊進(jìn)行一定的設(shè)置。主要的設(shè)置工作有:
① 設(shè)置通信波特率,可以使用AT+IPR=38400命令,把波特率設(shè)為38 400b/s或其它合適的波特率,默認(rèn)的通信速度為9600b/s。
② 設(shè)置接入網(wǎng)關(guān),通過AT+ CGD CONT=“1”, “IP”, “CMNET”命令設(shè)置GPRS接入網(wǎng)關(guān)為移動(dòng)夢(mèng)網(wǎng)。
③設(shè)置移動(dòng)終端的類別,通過AT+CGCLASS=“B”設(shè)置移動(dòng)終端的類別為B類,即同時(shí)監(jiān)控多種業(yè)務(wù);但只能運(yùn)行一種業(yè)務(wù),即在同一時(shí)間只能使用GPRS上網(wǎng),或者使用GSM的語(yǔ)音通信。④ 測(cè)試GPRS服務(wù)是否開通,使用AT+CGACT=1,1命令激活GPRS功能。如果返回OK,則GPRS連接成功;如果返回ERROR,則意味著GPRS失敗。這時(shí)應(yīng)檢查一下SIM卡的GPRS業(yè)務(wù)是否已經(jīng)開通,GPRS模塊天線是否安裝正確等問題。
中國(guó)移動(dòng)在GPRS與Internet網(wǎng)中間建立了許多相當(dāng)于ISP的網(wǎng)關(guān)支持節(jié)點(diǎn)(GGSN),以連接GPRS網(wǎng)與外部的Internet網(wǎng)。GPRS模塊可以通過撥“*99***1#”登錄到GGSN上動(dòng)態(tài)分配到Internet網(wǎng)的IP地址。其間GPRS模塊與網(wǎng)關(guān)的通信要符合點(diǎn)對(duì)點(diǎn)協(xié)議(Point to Point Protocol, PPP),其中身份驗(yàn)證時(shí)用戶名、密碼都為空。使用PPP協(xié)議登錄上之后,就可以通過GGSN接上Internet了。軟件整體結(jié)構(gòu)
程序中的所有代碼最好采用C語(yǔ)言編寫,并采用分層的結(jié)構(gòu),從底到上分別為:串口驅(qū)動(dòng)層、GPRS模塊驅(qū)動(dòng)層、PPP協(xié)議層、IP協(xié)議層、UDP協(xié)議層與應(yīng)用層。上層函數(shù)的實(shí)現(xiàn)需要應(yīng)用到底層函數(shù),而底層函數(shù)的任務(wù)就是為上層函數(shù)提供服務(wù),最終完成應(yīng)用層任務(wù)——傳送數(shù)據(jù)。驅(qū)動(dòng)程序編寫
首先是串行口驅(qū)動(dòng)層。它實(shí)現(xiàn)打開串口、關(guān)閉串口、讀串口數(shù)據(jù)、寫串口數(shù)據(jù)等函數(shù)。然后,在這些串口函數(shù)的基礎(chǔ)上編寫GPRS模塊的驅(qū)動(dòng)函數(shù)。單片機(jī)通過串行口控制GPRS模塊,進(jìn)行撥號(hào)、設(shè)置等操作??刂频姆椒ㄊ遣捎肁T命令。在控制GPRS模塊撥打移動(dòng)夢(mèng)網(wǎng)GGSN的登錄號(hào)碼“*99***1#”之后,GPRS模塊就轉(zhuǎn)入在線模式(On-Line)。此時(shí)單片機(jī)向串行口發(fā)送的所有數(shù)據(jù)都透明地傳送給了GGSN,同樣GGSN的回答也傳回單片機(jī)的串行口。
當(dāng)數(shù)據(jù)傳送完成后,單片機(jī)需要通知GPRS模塊結(jié)束會(huì)話,并從在線模式轉(zhuǎn)回普通的命令模式,這可以通過置高DTR線完成。同時(shí),如果線路由于異常斷開,CD線會(huì)回復(fù)到平常的低電平,所以處于在線模式下也要不斷檢測(cè)CD線是否處于高電平。根據(jù)這些操作,可以編寫GPRS驅(qū)動(dòng)函數(shù):初始化GPRS模塊函數(shù)、撥號(hào)函數(shù)、斷開連接函數(shù)、檢測(cè)是否處于在線狀態(tài)函數(shù)。
這些底層的驅(qū)動(dòng)函數(shù)將會(huì)使上層協(xié)議的編寫很方便,更重要的是,它為我們提
供了一個(gè)驅(qū)動(dòng)抽象層。當(dāng)?shù)讓佑布龀龈膭?dòng)的時(shí)候,只需要對(duì)底層的驅(qū)動(dòng)函數(shù)進(jìn)行改動(dòng),而上層函數(shù)的代碼不變。PPP協(xié)議的實(shí)現(xiàn)
由于移動(dòng)夢(mèng)網(wǎng)的GGSN與GPRS模塊通信時(shí)遵循PPP協(xié)議,所以要在單片機(jī)中也實(shí)現(xiàn)一部分PPP協(xié)議才能與之對(duì)話。GPRS模塊在撥號(hào)后首先要與GPRS網(wǎng)關(guān)進(jìn)行通信鏈路的協(xié)商,即協(xié)商點(diǎn)到點(diǎn)的各種鏈路參數(shù)配置。協(xié)商過程遵守LCP(Link Control Protocol)、PAP(Password Authentication Protocol)和IPCP(Internet Protocol Control Protocol)等協(xié)議。其中LCP協(xié)議用于建立、構(gòu)造、測(cè)試鏈路連接;PAP協(xié)議用于處理密碼驗(yàn)證部分;IPCP協(xié)議用于設(shè)置網(wǎng)絡(luò)協(xié)議環(huán)境,并分配IP地址。協(xié)商機(jī)制用有限狀態(tài)機(jī)的模型來實(shí)現(xiàn)。一旦協(xié)商完成,鏈路已經(jīng)創(chuàng)建,IP地址已經(jīng)分配就可以按照協(xié)商的標(biāo)準(zhǔn)進(jìn)行IP報(bào)文的傳輸了。根據(jù)應(yīng)用的不同,IP報(bào)文中可以攜帶UDP報(bào)文,也可以是TCP或ICMP報(bào)文。本系統(tǒng)正是采用UDP報(bào)文傳送數(shù)據(jù)信息的。數(shù)據(jù)傳輸完成之后,單片機(jī)會(huì)向GGSN發(fā)送LCP的斷開連接報(bào)文,以終止網(wǎng)絡(luò)連接。
PPP協(xié)議的幀結(jié)構(gòu)(圖略)。單片機(jī)的串口中斷接收程序首先以包起始和結(jié)束符來判斷是否有完整的PPP包,并對(duì)PPP包的內(nèi)容進(jìn)行校驗(yàn),以確定數(shù)據(jù)包的完整性和正確性。然后,在主循環(huán)中進(jìn)入PPP報(bào)文解析模塊。登錄GGSN的過程
系統(tǒng)的一個(gè)難點(diǎn)是單片機(jī)登陸GPRS網(wǎng)關(guān)(GGSN)并與網(wǎng)關(guān)通過LCP、PAP、IPCP協(xié)議進(jìn)行協(xié)商的過程。LCP、PAP與IPCP協(xié)議的幀結(jié)構(gòu)大同小異,最常用的為請(qǐng)求(REQ)、同意(ACK)和拒絕(NAK)三種幀。單片機(jī)與GGSN各為一方進(jìn)行協(xié)商,任何一方都可以發(fā)送REQ幀請(qǐng)求某方面的配制,另一方覺得配置不能接受會(huì)回應(yīng)NAK幀,如果可以則回應(yīng)ACK幀。為了節(jié)省資源,我們只處理這三種數(shù)據(jù)幀,其它鏈路問題都由單片機(jī)在程序控制下自己重新?lián)芴?hào)解決。
協(xié)商過程大致描述如下:在撥號(hào)成功連接后,GGSN首先會(huì)返回一個(gè)PAP REQ數(shù)據(jù)幀。我們發(fā)送一個(gè)空LCP REQ幀,以強(qiáng)迫進(jìn)行協(xié)議協(xié)商階段。隨后,GGSN發(fā)送LCP設(shè)置幀,我們拒絕所有的設(shè)置并請(qǐng)求驗(yàn)證模式。GGSN選擇CHAP或PAP方式驗(yàn)證,我們只接受PAP方式。然后,進(jìn)行PAP驗(yàn)證用戶名和密碼過程,在GPRS中用戶名與密碼都為空,如果成功,GGSN會(huì)返回IPCP報(bào)文分配動(dòng)態(tài)IP地址。此時(shí),就完成了與GGSN的協(xié)商過程。協(xié)商過程的狀態(tài)轉(zhuǎn)換如圖4所示。
協(xié)商完成后進(jìn)入IP數(shù)據(jù)報(bào)通信階段。此時(shí),單片機(jī)向GGSN發(fā)送的所有包含IP報(bào)文的PPP報(bào)文都會(huì)被傳送給Internet網(wǎng)中相應(yīng)的IP地址;而遠(yuǎn)端所有向單片機(jī)IP地址發(fā)送的報(bào)文也都會(huì)經(jīng)GPRS網(wǎng)傳送到單片機(jī)上,從而完成單片機(jī)與遠(yuǎn)程主機(jī)通過互聯(lián)網(wǎng)的數(shù)據(jù)傳輸。
適應(yīng)角色轉(zhuǎn)變,扎實(shí)開展團(tuán)的工作
———共青團(tuán)鐵東區(qū)委書記的述職報(bào)告
2011年是適應(yīng)角色轉(zhuǎn)變、思想進(jìn)一步成熟的一年。這一年,自己能夠堅(jiān)持正確的政治方向,緊緊圍繞黨的中心,立足本職崗位,較好地完成本線的工作任務(wù)。自己政治覺悟、理論水平、思想素質(zhì)、工作作風(fēng)等各方面有了明顯的進(jìn)步和提高。總的來說,收獲很大,感觸頗深。
一、以德為先,進(jìn)一步提升個(gè)人思想素質(zhì)
過去的一年,我以一個(gè)共產(chǎn)黨員的標(biāo)準(zhǔn),以一個(gè)團(tuán)干部的標(biāo)準(zhǔn)嚴(yán)格要求自己,在個(gè)人的道德修養(yǎng)、黨性鍛煉、思想素質(zhì)上有了很大的進(jìn)步。一是道德修養(yǎng)進(jìn)一步提高。作為一個(gè)團(tuán)干部,我的一言一行、我的自身形象將直接影響到團(tuán)委各成員,甚至更廣大的青少年。因此,在日常的工作和生活中,我每時(shí)每刻提醒自己,從小事做起,注重細(xì)節(jié)問題,做到干凈做人、公正做事,以平常心看待自己的工作,要求自己在工作中誠(chéng)實(shí)、守信、廉潔、自律,起好表率作用。二是黨性鍛煉得到不斷加強(qiáng)。不斷加強(qiáng)自己的黨性鍛煉,我嚴(yán)格按照《黨章》和《中國(guó)共產(chǎn)黨黨員紀(jì)律處分條例》來要求和約束自己的行為,牢記黨的宗旨,在團(tuán)的工作中,以廣大青少年的權(quán)益為出發(fā)點(diǎn),務(wù)求時(shí)效。三是政治思想素質(zhì)不斷提高。一年來,我繼續(xù)加強(qiáng)學(xué)習(xí),積極參加理論中心組學(xué)習(xí),經(jīng)常自發(fā)利用休息時(shí)間學(xué)習(xí),積極參加團(tuán)省委組織赴井岡山革命傳統(tǒng)與理想信念教育專題培訓(xùn)班、區(qū)委區(qū)政府組織赴清
華大學(xué)縣域經(jīng)濟(jì)培訓(xùn)班,通過“看、聽、學(xué)、思”,進(jìn)一步加深了對(duì)馬列主義、毛澤東思想、鄧小平理論、“三個(gè)代表”重要思想的理解,進(jìn)一步系統(tǒng)掌握了黨在農(nóng)村的路線、方針、政策以及對(duì)共青團(tuán)工作的要求。特別是黨的十七屆六中全會(huì)以來,我通過學(xué)習(xí)原文、聽專家講課等,開拓了思想新境界,政治思想素質(zhì)有了新的飛躍。
二、以能為先,進(jìn)一步加強(qiáng)組織工作能力
在上級(jí)領(lǐng)導(dǎo)的信任和支持下,我本人也自加壓力,抓住一切機(jī)會(huì)學(xué)習(xí),注重與同事、與兄弟單位團(tuán)委書記的交流,虛心請(qǐng)教,不恥下問,使各項(xiàng)工作都有序地開展。一是工作的統(tǒng)籌安排能力不斷加強(qiáng)。我盡量做到工作提前一步,有計(jì)劃、有安排、有預(yù)見性,保持思路清晰和決策的科學(xué),力求操作有序,順利開展。二是工作的協(xié)調(diào)能力不斷加強(qiáng)。在工作中,我注重與上級(jí)的及時(shí)銜接、匯報(bào),同時(shí)也注重與基層的交流溝通,聽取多方意見和建議,從大局出發(fā),對(duì)上做好配合,對(duì)下做好團(tuán)結(jié)。三是有創(chuàng)新地開展工作。在工作中,我注重不斷創(chuàng)新,使工作保持生機(jī),使管理不斷趨向人性化、合理化。
三、以勤為先,進(jìn)一步提高團(tuán)的業(yè)務(wù)水平
擔(dān)任團(tuán)委書記以來,認(rèn)真了解情況、掌握知識(shí),積極向團(tuán)委領(lǐng)導(dǎo)、向前任書記學(xué)習(xí)、請(qǐng)教,了解團(tuán)情、團(tuán)史,努力掌握?qǐng)F(tuán)的基本運(yùn)作方式程序,便于更好地開展工作。加強(qiáng)溝
通了解,增加感情,深入基層,了解基層團(tuán)組織和團(tuán)員青年的有關(guān)情況,以“活動(dòng)”來強(qiáng)化自己的知識(shí)和水平。一年來,我立足以活動(dòng)來促使自己盡快適應(yīng)角色,迎接挑戰(zhàn)。今年五四,團(tuán)區(qū)委以全區(qū)人居環(huán)境整治為依托,以“五四火炬?zhèn)鞒芯攀d生生不息,鐵東青年投入人居環(huán)境立志強(qiáng)區(qū)”為引領(lǐng),積極開展了“共青團(tuán)路,紅領(lǐng)巾街”,“鐵東青年林”等一系列活動(dòng)。在活動(dòng)中,增長(zhǎng)了知識(shí),深化了理解,使自己對(duì)團(tuán)務(wù)工作有了全面的、系統(tǒng)的提高,為今后更好地提高團(tuán)的業(yè)務(wù)水平打下了堅(jiān)實(shí)的基礎(chǔ)。
四、以績(jī)?yōu)橄?,進(jìn)一步完善團(tuán)的組織建設(shè)
把《關(guān)于進(jìn)一步深化“黨建帶團(tuán)建”工作的實(shí)施意見》落到實(shí)處,把黨的要求貫徹落實(shí)到團(tuán)的建設(shè)中去,使團(tuán)的建設(shè)納入黨的建設(shè)的總體規(guī)劃。依托黨建,從政策層面來解決和落實(shí)基層團(tuán)組織存在的問題和困難。一是基層團(tuán)干部的待遇問題。積極爭(zhēng)取黨組織在團(tuán)干部配備上的重視和支持,基層團(tuán)干“轉(zhuǎn)業(yè)”得到了很好的安排(葉赫的榮威,住建局遇良,衛(wèi)生局王國(guó)宴等);二是解決好基層團(tuán)組織活動(dòng)的經(jīng)費(fèi)問題。積極爭(zhēng)取專項(xiàng),今年為每個(gè)鄉(xiāng)鎮(zhèn)街道從團(tuán)省委爭(zhēng)取經(jīng)費(fèi)三千元,共計(jì)三萬(wàn)六千元;三是團(tuán)的基層組織格局創(chuàng)新工作。按照“1+4+N”模式,通過換屆調(diào)整選配了大批鄉(xiāng)鎮(zhèn)(街道)團(tuán)干部,變?cè)械摹皥F(tuán)干部兼職”模式為現(xiàn)在的“兼職團(tuán)干部”模式,提升了基層團(tuán)組織的凝聚力和戰(zhàn)斗力。此
次工作得到了團(tuán)市委的充分認(rèn)可,2011年四平市組織部班工作會(huì)議在我區(qū)召開。
以服務(wù)青年需求為目的,從單一組織青年開展活動(dòng)轉(zhuǎn)到生產(chǎn)環(huán)節(jié),開展就業(yè)培訓(xùn)、創(chuàng)業(yè)交流、貧富結(jié)對(duì);以服務(wù)黨政中心為目的,發(fā)揮團(tuán)組織自身優(yōu)勢(shì),引導(dǎo)青年樹立市場(chǎng)意識(shí)和投資意識(shí),強(qiáng)化科技意識(shí)和參與意識(shí),投身知識(shí)化、信息化和現(xiàn)代化、文明創(chuàng)建、環(huán)境整治、植綠護(hù)綠、社會(huì)治安等活動(dòng),把黨政思路實(shí)踐好。突出做好當(dāng)前新興的農(nóng)村、社區(qū)和非公經(jīng)濟(jì)組織建團(tuán)工作,延長(zhǎng)團(tuán)的工作手臂,豐富團(tuán)的組織形式。先后與農(nóng)聯(lián)社、吉林銀行等多家金融機(jī)構(gòu)積極協(xié)調(diào),為青年創(chuàng)業(yè)就業(yè)提供幫扶支持。特別是吉林銀行的“吉青時(shí)代”小額貸款項(xiàng)目更得到團(tuán)省委的無償貼息。
五、以廉為先,進(jìn)一步保持清正廉明形象
作為新任職的年輕干部、黨員干部,我既感受到了組織的信任與關(guān)懷,同時(shí)也感受到了責(zé)任重大。我區(qū)在黨委和政府的帶領(lǐng)下,勵(lì)精圖治、奮發(fā)圖強(qiáng),取得了輝煌的成績(jī)。越是這種時(shí)候,就越需要我們這些干部保持清醒的頭腦,保持共產(chǎn)黨員的先進(jìn)本色。深知,作為一級(jí)干部,應(yīng)該努力做到“清正廉潔”。古人說“物必自腐而蟲生”,腐敗現(xiàn)象表現(xiàn)上看來是經(jīng)濟(jì)問題、道德問題,但深層次的原因卻是理想信念出了問題。要不斷加強(qiáng)實(shí)踐鍛煉,要結(jié)合黨的歷史經(jīng)驗(yàn)、改革開放和社會(huì)主義建設(shè)的實(shí)踐以及自己的工作和思想實(shí)際,來刻苦磨煉自己。勇于剖析自己,積極開展自我批評(píng),凈化自己的靈魂。不斷增強(qiáng)拒腐防變意識(shí)。在思想上、在行動(dòng)上、生活中爭(zhēng)作表率。在團(tuán)區(qū)委開展“爭(zhēng)做勤廉表率,竭誠(chéng)服務(wù)青年”主題教育,召開機(jī)關(guān)黨風(fēng)廉政建設(shè)宣傳教育活動(dòng)動(dòng)員會(huì),全面啟動(dòng)黨風(fēng)廉政建設(shè)宣教活動(dòng)。按照學(xué)習(xí)貫徹區(qū)委、區(qū)紀(jì)委關(guān)于黨風(fēng)廉政建設(shè)和反腐敗工作的部署和要求,學(xué)習(xí)黨的十七屆六中精神,強(qiáng)化組織領(lǐng)導(dǎo),制定工作計(jì)劃。我們根據(jù)2011年黨風(fēng)廉政建設(shè)責(zé)任制考評(píng)要求,為了做好黨風(fēng)廉政建設(shè)和反腐敗工作,成立了團(tuán)區(qū)委黨風(fēng)廉政建設(shè)領(lǐng)導(dǎo)小組,并由我任組長(zhǎng)。按照“一崗雙責(zé)”的責(zé)任要求,明確了單位正職領(lǐng)導(dǎo)作為第一責(zé)任人,每年約談團(tuán)干部一次,就有關(guān)廉潔從政個(gè)人“不準(zhǔn)”和“禁止”行為適時(shí)對(duì)所管的團(tuán)干部進(jìn)行廉政談話。
在2012年即將到來之際,共青團(tuán)區(qū)委迎來組織部考核組,對(duì)共青團(tuán)區(qū)委一年來的工作進(jìn)的實(shí)地測(cè)評(píng),感謝組織的幫助與關(guān)懷,今后我們更要自覺地接受組織的監(jiān)督與考核。鐵東區(qū)的發(fā)展已經(jīng)取得了令人矚目的成就,而今又開始了新的征途。廣大青年有幸成為親歷者,成為追隨者,同時(shí)我們也是共享發(fā)展成果的受益者。我們應(yīng)該心懷感恩,心存畏懼,“做一個(gè)組織和群眾信賴的人,做一個(gè)同事和朋友敬重的人,做一個(gè)親屬子女可以引以為榮的人,做一個(gè)回顧人生能夠問心無愧的人”。我們要牢記黨的宗旨,全面貫徹黨的方
針路線,高舉中國(guó)特色社會(huì)主義偉大旗幟,弘揚(yáng)“攻堅(jiān)克難、求富圖強(qiáng)”的四平精神,堅(jiān)定不移的實(shí)施 “五區(qū)”戰(zhàn)略的發(fā)展規(guī)劃,為建設(shè)富裕和諧新鐵東的偉大目標(biāo)而不懈奮斗。
第二篇:GPRS公網(wǎng)通訊[推薦]
GPRS公網(wǎng)通訊
GPRS應(yīng)用中TCP/IP/PPP基本概念:(CDMA的原理與此差不多)
實(shí)際上GPRS DTU上實(shí)現(xiàn)的是協(xié)議棧是TCP/IP Over PPP。我們?cè)谑褂脮r(shí)必須要有一些相應(yīng)的概念。因此在下面我們就與SARO-3130P使用相關(guān)的一些事項(xiàng)作一些簡(jiǎn)要的說明,如果您想詳細(xì)了解這些協(xié)議,請(qǐng)參見相關(guān)書籍:
1. 每一次SARO-3130P撥ATD*99***1#(或ATD*99***1#)之后其實(shí)都在采用PPP協(xié)議和移動(dòng)的接入設(shè)備(一般是移動(dòng)公司的一臺(tái)特殊的GGSN路由器)進(jìn)行握手,當(dāng)PPP協(xié)議握手成功后,SARO-3130P都會(huì)獲得一個(gè)動(dòng)態(tài)IP地址。一般來說,每一次SARO-3130P下線后(掛斷連接或者直接斷電后)在重新進(jìn)行撥號(hào)和PPP握手后取得的動(dòng)態(tài)IP地址都是不一樣的。但是移動(dòng)公司可以通過為客戶開通特定的APN和發(fā)行特殊的SIM卡,使得用這張SIM卡獲得的動(dòng)態(tài)IP地址每一次都不變。也就是說可以做到SIM卡和IP地址綁定。
2.我們?cè)谧鰷y(cè)試時(shí),應(yīng)當(dāng)注意到如下事實(shí):在采用公網(wǎng)的Apn(“cmnet”)的條件下,如果我們用SARO-3130P主動(dòng)向公網(wǎng)上的一個(gè)靜態(tài)公網(wǎng)IP地址發(fā)起TCP連接,只要這個(gè)公網(wǎng)上的機(jī)器確實(shí)有偵聽相應(yīng)的端口,這樣是可以連上的;但是相反地,如果是由公網(wǎng)上的靜態(tài)IP向SARO-3130P動(dòng)態(tài)獲得的IP地址主動(dòng)發(fā)起的TCP連接將不會(huì)成功。這個(gè)現(xiàn)象的原因是:實(shí)際上SARO-3130P獲得的動(dòng)態(tài)IP地址是移動(dòng)的一個(gè)特殊的內(nèi)部網(wǎng)段上的地址,這個(gè)特殊內(nèi)部網(wǎng)段里的地址如果要和外部網(wǎng)(公網(wǎng))的地址進(jìn)行TCP通信,必須通過一個(gè)類似于TCP代理(或者NAT)的設(shè)備進(jìn)行通信的轉(zhuǎn)發(fā)。換句話說,這個(gè)動(dòng)態(tài)地址對(duì)于網(wǎng)絡(luò)上的其他機(jī)器來說是不可訪問的。
3. 標(biāo)準(zhǔn)AT命令+CGDCONT的主要作用是指定Apn。Apn是Access Point Name(訪問接入點(diǎn))的縮寫,移動(dòng)通過開通特殊的Apn為行業(yè)客戶提供Vpn(Virtual Private Net)服務(wù)。比如說,如果是要上公網(wǎng)(Internet),應(yīng)當(dāng)使用“cmnet”作為Apn。又如,某企業(yè)向移動(dòng)公司申請(qǐng)了Vpn服務(wù),移動(dòng)公司為其開通了一個(gè)Apn為“hxsw.gd”,則我們就應(yīng)當(dāng)用這個(gè)Apn來設(shè)置Gprs模塊,格式如下: AT+CGDCONT=1,“IP”,“hxsw.gd”
4.確定一條TCP連接有4個(gè)要素,這4個(gè)要素是雙方的IP地址和雙方的TCP端口號(hào),這也就是SARO-3130P為什么將本地端口、目的端口和目的IP地址結(jié)合起來作為連接的ID號(hào)(SARO-3130P在PPP握手成功后獲得的動(dòng)態(tài)地址只要不斷線重連就不會(huì)改變)的原因。
5.使用TCP協(xié)議進(jìn)行數(shù)據(jù)通信時(shí),必須要經(jīng)過三個(gè)階段,第一個(gè)階段是連接建立階段,第二個(gè)階段是數(shù)據(jù)收發(fā)階段,第三個(gè)階段是連接釋放階段:
1).連接建立階段:連接的建立又有主動(dòng)連接和被動(dòng)連接之分,一般來說客戶機(jī)都是主動(dòng)發(fā)起連接的,而服務(wù)器是被動(dòng)接受連接的。
所謂的主動(dòng)連接是指本方主動(dòng)向遠(yuǎn)端發(fā)起連接請(qǐng)求,而被動(dòng)連接指的是本方偵聽一個(gè)端口,等待遠(yuǎn)端及其主動(dòng)向自己發(fā)起一個(gè)連接請(qǐng)求并且進(jìn)行回應(yīng)并且最終握手建鏈成功。
在連接成功,切換到數(shù)據(jù)態(tài)后,我們可以通過OPEN命令幀控制SARO-3130P 進(jìn)行主動(dòng)連接。
當(dāng)然,連接時(shí)要指定對(duì)方的IP地址和端口號(hào)。至于被動(dòng)連接,SARO-3130P也可以支持,目前的程序只支持偵聽一個(gè)端口。對(duì)方主動(dòng)連接(SARO-3130P被動(dòng)連接)成功后將建立一條新的通信連接,SARO-3130P將把這個(gè)被動(dòng)連接成功的事件通知給上位機(jī)。
2).數(shù)據(jù)收發(fā)階段:當(dāng)一條連接建立之后,我們就可以在這條連接上進(jìn)行數(shù)據(jù)收發(fā)了。
我們可以使用SEND命令幀控制SARO-3130P進(jìn)行數(shù)據(jù)發(fā)送。當(dāng)然,發(fā)送時(shí)要指定連接號(hào)(通過本地端口、目的地址和端口唯一確定)。
對(duì)于對(duì)方發(fā)送過來的數(shù)據(jù),SARO-3130P首先將其存儲(chǔ)在自身的數(shù)據(jù)緩沖區(qū)中,然后將數(shù)據(jù)已到達(dá)此事件通知給上位機(jī),上位機(jī)讀取到數(shù)據(jù)已到達(dá)事件后,應(yīng)當(dāng)及時(shí)使用RECV命令幀控制SARO-3130P將相應(yīng)連接上的所有數(shù)據(jù)通過串口讀出,當(dāng)數(shù)據(jù)讀出后,這些數(shù)據(jù)原先占用的數(shù)據(jù)緩沖區(qū)空間將會(huì)被釋放。注意,由于SARO-3130P的數(shù)據(jù)緩沖區(qū)有限(總量?jī)H有25K Bytes),所以,對(duì)于對(duì)方發(fā)來的數(shù)據(jù),上位機(jī)一定要及時(shí)讀出,否則數(shù)據(jù)越積越多,可能會(huì)導(dǎo)致數(shù)據(jù)緩沖區(qū)溢出,丟失數(shù)據(jù)。
3).掛斷連接階段:當(dāng)一條連接上的所有數(shù)據(jù)都已經(jīng)收發(fā)完成了,不再需要這條連接時(shí),就可以把連接給掛斷了。
和連接建立階段相類似,掛斷也分為主動(dòng)掛斷和被動(dòng)掛斷。
我們可以使用RSET命令幀控制SARO-3130P進(jìn)行連接的主動(dòng)掛斷。
如果連接被對(duì)方主動(dòng)掛斷,SARO-3130P將會(huì)把這個(gè)事件通知給上位機(jī)進(jìn)行處理。
GPRS/CDMA行業(yè)應(yīng)用中的TCP與UDP的比較!
中國(guó)移動(dòng)、中國(guó)聯(lián)通推行的GPRS網(wǎng)絡(luò)、CDMA網(wǎng)絡(luò)已覆蓋大量的區(qū)域,通過無線網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)傳輸成為可能。無線Modem采用GPRS、CDMA模塊通過中國(guó)移動(dòng)、中國(guó)聯(lián)通的GPRS、CDMA網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,并通過TCP/IP協(xié)議進(jìn)行數(shù)據(jù)封包,可靈活地實(shí)現(xiàn)多種設(shè)備接入,工程安裝簡(jiǎn)單,在工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)傳輸?shù)膽?yīng)用中,能很好的解決偏遠(yuǎn)無網(wǎng)絡(luò)無電話線路地區(qū)的數(shù)據(jù)傳輸?shù)碾y題。同傳統(tǒng)的數(shù)傳電臺(tái)想比較,更具有簡(jiǎn)便性、靈活性、易操作性,同時(shí)還降低了成本,無線Modem傳輸方案是現(xiàn)代化工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)傳輸最好的選擇方案。
目前中國(guó)移動(dòng)、中國(guó)聯(lián)通提供的GPRS網(wǎng)絡(luò)、CDMA網(wǎng)絡(luò)的數(shù)據(jù)傳輸帶寬在40Kbps左右,且受帶寬的限制,數(shù)據(jù)采集方案最好采用于主動(dòng)告警、數(shù)據(jù)輪巡采集、告警主動(dòng)回叫等對(duì)傳輸帶寬占用較少的采集方式。同時(shí)考慮對(duì)前置機(jī)實(shí)時(shí)采集方案的支持,無線Modem傳輸方案只能作為目前傳輸方案的補(bǔ)充。
隨著無線通訊技術(shù)的不斷發(fā)展,無線傳輸數(shù)據(jù)帶寬將不斷提高,采用3G無線網(wǎng)絡(luò),數(shù)據(jù)傳輸帶寬將達(dá)到2M,無線傳輸方案將逐漸成為監(jiān)控傳輸組網(wǎng)的主要應(yīng)用方案。
目前,由于GPRS和CDMA固有的特性,在各個(gè)領(lǐng)域中GPRS和CDMA的應(yīng)用也越來越廣泛,但是關(guān)于傳輸中使用TCP/IP協(xié)議還是UDP協(xié)議,卻爭(zhēng)論很多。
這里先簡(jiǎn)單的說一下TCP與UDP的區(qū)別:
1。基于連接與無連接
2。對(duì)系統(tǒng)資源的要求(TCP較多,UDP少)
3。UDP程序結(jié)構(gòu)較簡(jiǎn)單
4。流模式與數(shù)據(jù)報(bào)模式
5。TCP保證數(shù)據(jù)正確性,UDP可能丟包,TCP保證數(shù)據(jù)順序,UDP不保證
另外結(jié)合GPRS網(wǎng)絡(luò)的情況具體的談一下他們的區(qū)別:
1。TCP傳輸存在一定的延時(shí),大概是1600MS(移動(dòng)提供),UDP響應(yīng)速度稍微快一些。
2。TCP包頭結(jié)構(gòu)
源端口16位
目標(biāo)端口 16位
序列號(hào) 32位
回應(yīng)序號(hào) 32位
TCP頭長(zhǎng)度 4位
reserved 6位
控制代碼6位
窗口大小16位
偏移量16位
校驗(yàn)和16位
選項(xiàng) 32位(可選)
這樣我們得出了TCP包頭的最小大小.就是20字節(jié).UDP包頭結(jié)構(gòu)
源端口16位
目的端口16位
長(zhǎng)度 16位
校驗(yàn)和 16位
UDP的包小很多.確實(shí)如此.因?yàn)閁DP是非可靠連接.設(shè)計(jì)初衷就是盡可能快的將數(shù)據(jù)包發(fā)送出去.所以UDP協(xié)議顯得非常精簡(jiǎn).3。GPRS網(wǎng)絡(luò)端口資源,UDP十分緊缺,變化很快;而TCP采用可靠鏈路傳輸,不存在端口變化的問題
工業(yè)場(chǎng)合的應(yīng)用一般都有以下特點(diǎn),1。要求時(shí)時(shí)傳輸,但也有一些場(chǎng)合是定時(shí)傳輸,總的來說在整個(gè)傳輸過程中要求服務(wù)器中心端和GPRS終端設(shè)備能相互的、時(shí)時(shí)的傳輸數(shù)據(jù)。
TCP本身就是可靠鏈路傳輸,提供一個(gè)時(shí)時(shí)的雙向的傳輸通道,能很好的滿足工業(yè)現(xiàn)場(chǎng)傳輸?shù)囊?。但是GPRS網(wǎng)絡(luò)對(duì)TCP鏈路也存在一個(gè)限制:此條鏈路在長(zhǎng)時(shí)間(大概20分鐘左右,視具體情況而定)沒有數(shù)據(jù)流量,會(huì)自動(dòng)降低此鏈路的優(yōu)先級(jí)直至強(qiáng)制斷開此鏈路。所以在實(shí)際使用中也會(huì)采用心跳包(一般是一個(gè)字節(jié)的數(shù)據(jù))來維持此鏈路。
UDP由于自身特點(diǎn),以及GPRS網(wǎng)絡(luò)UDP端口資源的有限性,在一段時(shí)間沒有數(shù)據(jù)流量后,端口容易改變,產(chǎn)生的影響就是從服務(wù)器中心端向GPRS終端發(fā)送數(shù)據(jù),GPRS終端接收
不到。具體的原因就是移動(dòng)網(wǎng)關(guān)從中作了中轉(zhuǎn),需要隔一定時(shí)間給主機(jī)發(fā)UDP包來維持這個(gè)IP和端口號(hào),這樣主機(jī)就能主動(dòng)給GPRS發(fā)UDP包了并且我在測(cè)試中發(fā)現(xiàn),這個(gè)間隔時(shí)間很短,我在1多分鐘發(fā)一次UDP包才能夠維持,但是再長(zhǎng)可能移動(dòng)網(wǎng)關(guān)那邊就要丟失這個(gè)端口了,此時(shí)如果主機(jī)想主動(dòng)發(fā)數(shù)據(jù)給GPRS,那肯定是不行的了,只有GPRS終端設(shè)備再發(fā)一個(gè)UDP包過去,移動(dòng)重新給你分配一個(gè)中轉(zhuǎn)IP和端口,才能夠進(jìn)行雙向通訊。
2。要求數(shù)據(jù)的丟包率較小。有些工業(yè)場(chǎng)合,例如電力、水務(wù)抄表,環(huán)保監(jiān)測(cè)等等,不容許傳輸過程中的數(shù)據(jù)丟失或者最大限度的要求數(shù)據(jù)的可靠性。
從這一點(diǎn)來看,很顯然在無線數(shù)據(jù)傳輸過程中,TCP比UDP更能保證數(shù)據(jù)的完整性、可靠性,存在更小的丟包率。在實(shí)際測(cè)試中也是如此。以廈門桑榮科技有限公司提供的GPRS終端設(shè)備為例:TCP的在千分之9,UDP的在千分之17左右。
3。要求降低費(fèi)用。目前有很大部分GPRS設(shè)備的應(yīng)用都是取代前期無線數(shù)傳電臺(tái),除了使用范圍外,其考慮的主要問題就是費(fèi)用。能降低費(fèi)用當(dāng)然都是大家最愿意接受的。和費(fèi)用直接相關(guān)的就是流量了,流量低,費(fèi)用就低了。
雖然TCP本身的包頭要比UDP多,但是UDP在實(shí)際應(yīng)用中往往需要維護(hù)雙向通道,就必須要通過大量的心跳包數(shù)據(jù)來維護(hù)端口資源??偟谋容^起來,UDP的實(shí)際流量要比TCP還要大。很多使用者在初期的時(shí)候并不了解UDP需要大量心跳包來維持端口資源這個(gè)問題,往往都認(rèn)為UDP要比TCP更節(jié)省流量,實(shí)際上這里存在著一個(gè)誤區(qū)。
4。在某些特定的應(yīng)用場(chǎng)合,例如一些銀行的時(shí)時(shí)交互系統(tǒng),對(duì)響應(yīng)速度要求很高,此時(shí)數(shù)據(jù)傳輸頻率較快,不需要大量心跳包維持UDP端口資源,采用UDP就比較有利了。
5。在目前的1:N的傳輸模式中,既有多個(gè)GPRS終端設(shè)備往一個(gè)服務(wù)器中心傳輸數(shù)據(jù),此時(shí)采用UDP會(huì)比TCP要好的多,因?yàn)閁DP耗用更少的系統(tǒng)資源。但是在實(shí)際應(yīng)用中卻發(fā)現(xiàn),很多用戶還是采用TCP的傳輸方式,建立二級(jí)中心1:A(1:N),即每一個(gè)分中心對(duì)應(yīng)N/A臺(tái)設(shè)備,獨(dú)立處理數(shù)據(jù),再統(tǒng)一將數(shù)據(jù)傳送到主中心。這樣既能保證了傳輸過程中采用了TCP的傳輸協(xié)議,又能很好處理了中心服務(wù)器的多鏈路的系統(tǒng)耗用的問題。
總的來說,TCP/IP協(xié)議更能滿足目前各行業(yè)對(duì)遠(yuǎn)程數(shù)據(jù)傳輸?shù)囊螅峁└€(wěn)定更便利的傳輸通道,很好的滿足了遠(yuǎn)程數(shù)據(jù)傳輸?shù)囊?。桑榮公司所有DTU產(chǎn)品都支持TCP和UDP協(xié)議,客戶可以自行選擇.
第三篇:?jiǎn)纹瑱C(jī)開發(fā)經(jīng)驗(yàn)總結(jié)
單片機(jī)開發(fā)經(jīng)驗(yàn)總結(jié) 單片機(jī)開發(fā) 2010-07-20 00:54:19 閱讀77 評(píng)論0字號(hào):大中小 訂閱
1、與發(fā)光二極管串聯(lián)的電阻(排阻)的計(jì)算和選取,一般發(fā)光二極管的正常發(fā)光的電流是3~10mA,在發(fā)光二極管上產(chǎn)生的壓降是1.7
V(軌管)R=(5-1.7)/3~10(k)
2、單片機(jī)TTL電平高電平:+5V;低電平:0V。
RS232串口電平高電平:—12V ;低電平:+12V??梢酝ㄟ^MAX232電平轉(zhuǎn)換芯片,轉(zhuǎn)換之間的電平。
3、單片機(jī)上電IO口的寄存器為高電平,其余寄存器為低電平。
4、三極管的開關(guān)作用:在B、E間接正向電壓,E、C是導(dǎo)通的。
5、蜂鳴器:
1)有源蜂鳴器直接接上額定電壓就可以連續(xù)發(fā)聲。
2)無源蜂鳴器和電磁揚(yáng)聲器一樣,需要接在音頻輸出電路中才能發(fā)聲。
3)有源蜂鳴器帶振蕩源,無源的不帶。
4)有源蜂鳴器的理想信號(hào)是直流電。
5)無源蜂鳴器的理想信號(hào)為方波信號(hào)。
方波發(fā)聲函數(shù):void beep()
{fmq=0;
delay 500us();
fmq=1;
delay 500us();
}
6、計(jì)算單片機(jī)指令周期:
指令周期(us)=12 /晶振頻率(Mhz)
選用12M的晶振,一個(gè)指令周期為1us7、89C51的芯片最高支持24M的晶振
目前介紹單片機(jī)應(yīng)用的文章很多,但介紹單片機(jī)開發(fā)工具制作的文章卻較少。由于單片機(jī)是一門實(shí)踐性很強(qiáng)的課程,如果采用傳統(tǒng)的開發(fā)模式,則要購(gòu)買價(jià)格昂貴的仿真器、編程器等開發(fā)工具來作實(shí)驗(yàn)。其實(shí)由于芯片功能的日益完善,我們可以利用芯片的在系統(tǒng)編程(ISP)功能制作出實(shí)用而低價(jià)的開發(fā)工具。本文旨在幫助DIY愛好者開發(fā)制作出適合自己的開發(fā)工具。
1當(dāng)前常用開發(fā)模式
目前,基本上有兩種開發(fā)模式可供選擇:用仿真器、用編程器。
①用仿真器。優(yōu)點(diǎn):方便,可以設(shè)置斷點(diǎn),可以觀察存儲(chǔ)器及寄存器的內(nèi)容。缺點(diǎn):價(jià)格昂貴,不同類型的單片機(jī)要購(gòu)買不同的仿真器;仿真器終究不是單片機(jī),有時(shí)代碼在仿真器上能通過,但在單片機(jī)中不能正常工作,反而增加了調(diào)試的難度。
②用編程器。優(yōu)點(diǎn):價(jià)格相對(duì)便宜,通常一款編程器可編程多種器件。缺點(diǎn):操作相當(dāng)不便,每次要將芯片在目標(biāo)板與編程器之間轉(zhuǎn)移,并且還要在編譯操作界面與編程器操作界面之間切換,大部分時(shí)間在做簡(jiǎn)單的重復(fù)工作。
2新的開發(fā)模式介紹及芯片選擇
本文介紹的開發(fā)工具采用一種新的開發(fā)模式(類似于編程器開發(fā)模式)。由于利用了芯片的在系統(tǒng)編程功能,因此不需要移動(dòng)芯片。在軟件設(shè)計(jì)時(shí)設(shè)計(jì)成:一旦代碼文件被重新編過,即自動(dòng)下載到芯片,并自動(dòng)復(fù)位運(yùn)行,是真正的“所編即所得”。
目前很多單片機(jī)都支持在系統(tǒng)編程。8051系列單片機(jī)支持在系統(tǒng)編程的也很多,但大多數(shù)是支持通過PC機(jī)的串口對(duì)單片機(jī)進(jìn)行編程。這樣有四個(gè)不方便的地方:一是項(xiàng)目本身與PC機(jī)串行通信不方便;二是要增加1片MAX232電平轉(zhuǎn)換芯片;三是有的芯片要按特定的步驟進(jìn)入下載模式,編程過程需要手工干預(yù);四是有的芯片需要固件(定制的程序)的支持,如果不小心損壞了固件,則芯片的在系統(tǒng)編程功能也沒有了。
經(jīng)過比較,Atmel公司生產(chǎn)的AT89S8252是一種比較理想的芯片,適合制作開發(fā)工具。此芯片有如下特點(diǎn):
◆ 與8051兼容;
◆ 內(nèi)含8KB可擦寫1000次的程序存儲(chǔ)器,2KB可擦寫超過100 000次的數(shù)據(jù)存儲(chǔ)器及256字節(jié)8位寬內(nèi)部RAM;
◆ 可通過SPI接口在系統(tǒng)串行編程,與8051兼容
◆ 串行編程時(shí)有自動(dòng)擦寫周期,在調(diào)試大程序時(shí)可以分段下載,節(jié)約時(shí)間;
◆ 低電壓下載,無需12V編程電壓。
3AT89S8252串行編程
(1)AT89S8252串行編程模式
當(dāng)芯片的RST引腳置高電平時(shí),所有程序和數(shù)據(jù)存儲(chǔ)器可以通過SPI總線接口[SCK,MOSI(input),MISO(output)]編程。RST變高以后,在編程或擦除操作之前必須首先發(fā)送一條編程允許命令。在串行編程模式下,芯片會(huì)在字節(jié)編程之前自動(dòng)插入一個(gè)擦除周期。因此,除非芯片的代碼保護(hù)位被編程,編程之前不需要執(zhí)行全片擦除命令。SPI接口之SCK時(shí)鐘頻率須低于晶振頻率的1/40。
(2)AT89S8252串行編程步驟
①在XTAL1與XTAL2之間連接一個(gè)3~24MHz的晶振;在VCC與GND之前加上電源電壓,將RST置高,等待10ms。
②發(fā)送串行編程允許命令。
③發(fā)送寫/讀/擦除等命令及數(shù)據(jù),串行數(shù)據(jù)高位在前,低位在后,數(shù)據(jù)在時(shí)鐘的上升沿鎖定。④如果上一步是寫命令,至少等待2.5ms。
⑤需要時(shí)重復(fù)③、④兩步。
⑥將RST置低,芯片開始運(yùn)行。
(3)AT89S8252串行編程命令
AT89S8252串行編程命令如表1所列。
表
(4)AT89S8252串行編程時(shí)序圖
AT89S8252串行編程時(shí)序如圖1所示。
圖
14硬件設(shè)計(jì)
①通過計(jì)算機(jī)并口與單片機(jī)SPI口連接;
②為了保護(hù)計(jì)算機(jī)并口,需要增加1片74HC244作為隔離。
實(shí)用的原理圖如圖2所示。(已經(jīng)過實(shí)踐檢驗(yàn),可放心使用。)
圖
25用VB編程進(jìn)行并口控制
打印端口的基地址一般為0x278、0x378或0x3BC,可以從控制面板中查到。為了方便讀者,表2列出了常用打印端口引腳及寄存器位元的說明。
表
在Windows環(huán)境下最簡(jiǎn)單易學(xué)的語(yǔ)言恐怕非VB莫屬,所以我們的開發(fā)工具也選用VB作為編程語(yǔ)言。但由于Windows的保護(hù),VB無法直接讀寫打印端口,因此我們需要另外的程序模塊來實(shí)現(xiàn)打印端口的直接讀寫。在Internet網(wǎng)上可以找到許多此類模塊,并且相當(dāng)多的模塊可以免費(fèi)使用。經(jīng)過試用,筆者推薦使用Winio v2.0。該模塊支持Win9X/NT/2000/XP(http:// Yariv Kaplan),并且?guī)в性敿?xì)的幫助、例子程序及源碼。使用時(shí),將Winio.sys、Winio.dll、Winio.vxd
及Winio.bas四個(gè)文件拷貝到工作目錄下,在VB中直接添加Winio.bas模塊即可。本例中用到的函數(shù)有四個(gè),分別說明如下。
①Initialize():允許端口控制函數(shù)。在使用端口輸入輸出函數(shù)之前調(diào)用一次,成功返回“1”,失敗返回“0”。
②Shutdown():關(guān)閉端口控制函數(shù)。在退出程序時(shí)執(zhí)行一次,成功返回“1”,失敗返回“0”。③GetPortVal(ByVal PortAddr As Integer, ByRef Portval As Long, ByVal bSize As Byte)As Boolean:讀取端口函數(shù),PortAddr 為端口地址, Portval為端口值,bSize為要讀取的字節(jié)數(shù)。讀取成功時(shí)返回“1”,失敗時(shí)返回“0”。
④SetPortVal(ByVal PortAddr As Integer, ByVal Portval As Long, ByVal bSize As Byte)As Boolean:寫端口函數(shù)。PortAddr 為端口地址, Portval為要寫的值,bSize為要寫入的字節(jié)數(shù)。寫入成功返回“1”,失敗返回“0”。
四個(gè)函數(shù)在Winio.bas模塊中的聲明如下:
Declare Function InitializeWinIo Lib “WinIo.dll”()As Boolean
Declare Function ShutdownWinIo Lib “WinIo.dll”()As Boolean
Declare Function GetPortVal Lib “WinIo.dll”(ByVal PortAddr As Integer, ByRef Portval As Long, ByVal bSize As Byte)As Boolean
Declare Function SetPortVal Lib “WinIo.dll”(ByVal PortAddr As Integer, ByVal Portval As Long, ByVal bSize As Byte)As Boolean
6Intel HEX 格式文件
由于一般編譯軟件產(chǎn)生的用于寫入芯片的文件都是Intel HEX格式的文件。Intel HEX文件屬于文本文件,可以用記事本查看。一個(gè)Intel HEX文件的一行稱為一個(gè)記錄,每個(gè)記錄都是由十六進(jìn)制字符組成的,兩個(gè)字符表示一個(gè)字節(jié)的值。Intel HEX文件通常由若干條記錄組成,每個(gè)記錄都具有如下的形式:
:LLAAAATTDD...DDCC
“:”——記錄的起始標(biāo)志;
LL——記錄長(zhǎng)度,表示該記錄中的數(shù)據(jù)字節(jié)數(shù);
AAAA——數(shù)據(jù)裝入的首地址(16位);
TT——記錄類型,00表示數(shù)據(jù)記錄,01表示文件結(jié)束;(注意:有的編譯軟件會(huì)產(chǎn)生大于01的記錄類型,本應(yīng)用中對(duì)大于01記錄類型的記錄忽略掉即可。)
DD——數(shù)據(jù)值(字節(jié));
CC——校驗(yàn)和。(將其本身與記錄中除起始標(biāo)志外的所有字節(jié)相加應(yīng)為0,不為0則有錯(cuò)。)
VB編程詳細(xì)說明見本刊網(wǎng)絡(luò)補(bǔ)充版(http://.cn)。(由于各子程序的流程都較簡(jiǎn)單,所以直接給出源碼,而未畫出流程圖。程序采用由底至頂?shù)脑O(shè)計(jì)方法。)
結(jié)語(yǔ)
雖然上述程序能實(shí)現(xiàn)各種基本的功能,但并不完善,并未考慮各種異常情況,讀者可根據(jù)實(shí)際情況進(jìn)行完善。編程功力較差的朋友可直接到筆者的網(wǎng)站(http: //)下載相對(duì)較完善的應(yīng)用程序。如果充分理解了上述程序,那么DIY一個(gè)AVR或PIC單片機(jī)的開發(fā)工具也非難事。在筆者的網(wǎng)站也有制作完成的“MCS51/AVR/PIC三合一下載器資料”供愛好者下載。
由于AT89S8252的價(jià)格還是較貴,所以現(xiàn)在市場(chǎng)上較難買,不過Atmel公司推出的替代
AT89C51/52的AT89S51/52也有在系統(tǒng)編程功能,且價(jià)格便宜。其在系統(tǒng)編程的實(shí)現(xiàn)方法與
AT89S8252類似,對(duì)本例部分程序稍作修改即可支持該器件。筆者制作的“MCS51/AVR/PIC三合一下載器”增加了對(duì)AT89S51/52的支持。
文章來源:http:///wz_17380.htmPowerd by laogu
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
再來幾點(diǎn):
先從最簡(jiǎn)單的AT89C5X(51,52,55等等)說起吧,做這個(gè)的時(shí)間最長(zhǎng),知道的可能多些,書本上的東西這里我不多說,主要談些實(shí)際應(yīng)用中的經(jīng)驗(yàn)與教訓(xùn)。書可以參看北航出的一本專門講AT89系列的,還不錯(cuò),建議大家購(gòu)買。
AT89C51我認(rèn)為是一個(gè)非常標(biāo)準(zhǔn)的51單片機(jī)了,4個(gè)P口,1個(gè)串口,RAM只有標(biāo)準(zhǔn)的128Byte,F(xiàn)lash也只有4K,功能還算齊全,我就以它為基礎(chǔ),所以開發(fā)過程中遇到的問題吧。
第一個(gè)問題:復(fù)位源的問題
大家最常用的復(fù)位方式就是電阻加電容吧,AT89C51是高電平復(fù)位,這種方式不穩(wěn)定,在產(chǎn)品調(diào)試時(shí)可以使用,因?yàn)樵谡{(diào)試時(shí)我們一般使用了仿真器,而許多仿真器都會(huì)自己輸出復(fù)位信號(hào),而屏蔽掉目標(biāo)板產(chǎn)生的復(fù)位信號(hào),所以調(diào)試時(shí)復(fù)位信號(hào)是沒有問題的,我們公司使用的是長(zhǎng)沙菊陽(yáng)的仿真器,用的是比較先進(jìn)的技術(shù),還算可以,仿真AT89系列的芯片一點(diǎn)問題沒有,還很穩(wěn)定的說。這里有一個(gè)非常重要的問題要說下,大家有時(shí)候會(huì)遇到這樣的一個(gè)問題:自己的程序在仿真時(shí)運(yùn)行一點(diǎn)問題也沒有,但燒錄后卻不行了。結(jié)合我的經(jīng)驗(yàn)有兩種原因。一是時(shí)序可能變了,這個(gè)大家都知道,我不多說,還有一個(gè)原因就是復(fù)位信號(hào)的問題。具體情況如下:
(1)復(fù)位電路有問題,不能正常產(chǎn)生復(fù)位信號(hào)。因?yàn)檎{(diào)試時(shí)仿真器可能給你提供了復(fù)位信號(hào),而脫離仿真器后就沒有了;
(2)看門狗的問題。有些51芯片帶有看門狗復(fù)位功能,如At89c55WD,當(dāng)程序開啟了看門狗后,有時(shí)候程序的初始化內(nèi)容太多了,往往會(huì)產(chǎn)生了復(fù)位信號(hào),特別是用C語(yǔ)言編程功能時(shí),有時(shí)候雖然你明明在程序開始時(shí)某個(gè)地方關(guān)閉了看門狗,但程序依然會(huì)復(fù)位,這是因?yàn)镃語(yǔ)言執(zhí)行效率比匯編低,看似幾行代碼,有時(shí)候要很長(zhǎng)時(shí)間的,所以在使用開門狗時(shí)一定要注意這個(gè)問題。而這個(gè)問題在使用仿真器時(shí)容易被忽視,因?yàn)榧词鼓愕某绦蚶锟撮T狗復(fù)位了,但是仿真器(菊陽(yáng)仿真器可以開啟/屏蔽這個(gè)功能)往往會(huì)屏蔽了這個(gè)復(fù)位信號(hào),所以程序仍然會(huì)正常運(yùn)行的。當(dāng)你把程序燒好后再運(yùn)行時(shí),你卻為發(fā)現(xiàn)剛調(diào)試好的程序卻無法正常運(yùn)行了,那是因?yàn)槟愕某绦蛞恢痹诓煌?fù)位了,注意用示波器觀察RST腳可能看不到復(fù)位信號(hào)的,因?yàn)榭撮T狗復(fù)位并不影響RST腳的電平。再一種情況就是芯片內(nèi)部不帶看門狗,但是電路中有CPU監(jiān)控芯片的,它往往是可以提供復(fù)位信號(hào)的,而且是多種原因的復(fù)位信號(hào),如果你發(fā)現(xiàn)上述情況,就可以用示波器查看RST腳看是否有電平變化。
所以建議大家做51產(chǎn)品開發(fā)時(shí)盡量使用CPU監(jiān)控芯片,向X5045就是非常好用的,因?yàn)樗€帶有Eprom功能,這在很多場(chǎng)合使用的到的,也可以用MAX708等專用復(fù)位芯片了,既穩(wěn)定又方便。
第四篇:51單片機(jī)與三菱PLC通訊實(shí)例
51單片機(jī)與三菱PLC無協(xié)議通訊成功
我用了兩個(gè)晚上的時(shí)間查閱一些資料,利用三菱PLC的擴(kuò)展RS485通訊板與其51單片機(jī)連接通訊,可寫PLC任意的地址。長(zhǎng)度可達(dá)1000米,看見網(wǎng)上寫的都很煩且對(duì)三菱和單片機(jī)不是很熟的朋友來說有一定的閱讀難度,今天將它與大家分享。希望在此基礎(chǔ)上大家能擴(kuò)展出自己想要的功能,過些時(shí)間有空我在寫個(gè)半雙工的程序。硬件部分:
我用的是天祥單片機(jī)實(shí)驗(yàn)板,由于沒有RS485接口,我利用ADM485芯片自制了一個(gè)485接口與三菱PLC的擴(kuò)展RS485通訊如圖,但如果要進(jìn)行半雙工通訊,須將P3.0口到下載程序的RS232芯片的線斷開可用一個(gè)跳線,用RS485的時(shí)候斷開RS232,用RS232的時(shí)候插上跳線帽。硬件連接如圖
PLC程序:
通訊我用單片機(jī)做主機(jī)(只發(fā)送指令),PLC做從機(jī)(只接收指令),單工單向,以便初學(xué)著掌握。
格式:1位啟始,8位數(shù)據(jù),一位停止。所以PLC寄存器D8120:0C81.plc程序很簡(jiǎn)單不懂的可以看下三菱PLC的通訊手冊(cè)。如下圖:
三:?jiǎn)纹瑱C(jī)程序:
#include
/*單片機(jī)的頭文件*/ unsigned char code tab[]={0x17,0xff};/*PLC輸出的Y點(diǎn)數(shù),PLC輸出Y燈0125678亮*/ sbit led=P1^1;
/*將RS485置為發(fā)送數(shù)據(jù)模式*/ unsigned char i;void init(){ SCON=0x50;
/*串口中斷開*/ TMOD=0x20;
/*定時(shí)器設(shè)置*/
TH1=0xfd;
/*定時(shí)時(shí)間的高位*/ TL1=0xfd;
/*定時(shí)時(shí)間的低位,速度為9600BPS*/ TR1=1;
/*定時(shí)器開*/ EA=1;
/*開總中斷*/ TI=0;
/*復(fù)位串口中斷*/ led=1;
/*將RS485置為發(fā)送數(shù)據(jù)模式*/ } void main(){ init();
/*調(diào)用子程序*/ for(i=0;i<2;i++){ SBUF=tab[i];
/*將數(shù)據(jù)發(fā)送到串口*/ while(!TI);
/*等待串口數(shù)據(jù)發(fā)送結(jié)束*/ TI=0;
/*復(fù)位串口中斷*/ } } 四:注意點(diǎn)。
1:RS485的線不能接反,否則數(shù)據(jù)將不正確。
2:?jiǎn)纹瑱C(jī)的晶振要選擇11.0592MHZ,否則PLC接收到數(shù)據(jù)也不正確。
3:RS485芯片的電源不能接反,否則要燒壞芯片。
今天要去山東調(diào)試機(jī)器,現(xiàn)在正在高鐵上,剛好有空把這篇心得寫好,有錯(cuò)誤的地方還請(qǐng)大家指正,也希望有共同愛好的一起交流心得。
QQ:79814563 注明時(shí)工控交友
電話:***
姓名:黃輝 2011年12月17日 Saturday
第五篇:?jiǎn)纹瑱C(jī)開發(fā)工程師求職簡(jiǎn)歷
基本簡(jiǎn)歷
姓名: 李先生
國(guó)籍: 中國(guó)
目前所在地: 廣州
民族: 漢族
戶口所在地: 廣東省
身材: 172 cm?56 kg
婚姻狀況: 未婚
年齡: 25 歲
求職意向
人才類型: 普通求職?
應(yīng)聘職位: 嵌入式軟件開發(fā)(單片機(jī)/DLC/DSp):?jiǎn)纹瑱C(jī)開發(fā)工程師、工作年限: 2 職稱: 無職稱
求職類型: 全職
可到職日期: 一個(gè)星期
月薪要求: 3500--5000
希望工作地區(qū): 廣州
工作經(jīng)歷
公司名稱: 番禺致豐微電器有限公司起止年月:2008-03 ~ 2009-09
擔(dān)任職務(wù): 測(cè)試工程師
工作描述: 進(jìn)行MCS51單片機(jī)(STC系列、AT89系列等)、ARM(LpC21XX)編程和硬件設(shè)計(jì),熟悉uc/os和small rtos嵌入式實(shí)時(shí)操作系統(tǒng)。
教育背景
畢業(yè)院校: 韶關(guān)學(xué)院
最高學(xué)歷: 本科
獲得學(xué)位: 工學(xué)學(xué)士
畢業(yè)日期: 2008-06-0
1所學(xué)專業(yè): 自動(dòng)化
語(yǔ)言能力
外語(yǔ): 英語(yǔ)優(yōu)秀
國(guó)語(yǔ)水平: 精通 粵語(yǔ)水平: 優(yōu)秀
工作能力
嵌入式系統(tǒng)開發(fā)應(yīng)用技術(shù)(MCS51、ARM),熟練掌握匯編語(yǔ)言,C語(yǔ)言,熟悉C++.精通常用通信協(xié)議及相關(guān)總線:1-wire、I2C、SpI、UART、RS232、RS485等;以KEIL, RealView-MDK/ ADS1.2 , platform Builder 5.0和 eMbedded Visual C++ 4.0為程序開發(fā)平臺(tái),進(jìn)行嵌入式系統(tǒng)開發(fā);掌握uc/os和WINCE5.0嵌入式操作系統(tǒng)。熟悉模擬電子技術(shù)、數(shù)字電子技術(shù)和電力電子技術(shù),硬件設(shè)計(jì)平臺(tái)為ORCAD和 protel99SE.個(gè)人自傳
能吃苦耐勞,工作積極肯干,自學(xué)能力和動(dòng)手能力強(qiáng),能進(jìn)行MCS51單片機(jī)(STC系列、AT89系列等)、ARM(LpC21XX)編程和硬件設(shè)計(jì),熟悉uc/os和small rtos嵌入式實(shí)時(shí)操作系統(tǒng)。
聯(lián)系方式
通訊地址:
聯(lián)系電話: ***
電子郵件: diyifanwen@glzy8.com
個(gè)人主頁(yè): http://004km.cn