單片機(jī)在串口通信和ICP編程上的應(yīng)用
一.簡(jiǎn)介
P89LPC935是一種單片封裝的微控制器,適用于許多要求高集成度,低成本的場(chǎng)合,可以滿足多方面的性能要求。P89LPC935采用了高性能的處理器結(jié)構(gòu),指令的執(zhí)行時(shí)間只需2~4個(gè)時(shí)鐘周期,6倍于80C51標(biāo)準(zhǔn)器件。P89LPC935集成了許多系統(tǒng)級(jí)的功能,這樣可大大減少元件的數(shù)目和電路板面積并降低系統(tǒng)的成本。
P89LPC935的主要特性有:
* 8KB的可字節(jié)擦除的FLASH程序存儲(chǔ)器,組成1KB的扇區(qū)和64字節(jié)頁(yè)。
* 256字節(jié)的RAM數(shù)據(jù)存儲(chǔ)器和一個(gè)512字節(jié)的附加片內(nèi)RAM,以及512字節(jié)的片內(nèi)用戶數(shù)據(jù)EEPROM存儲(chǔ)區(qū),可用來存放器件序列碼及設(shè)置參數(shù)等。
*2個(gè)4路輸入的8位A/D轉(zhuǎn)換器,2個(gè)模擬比較器,可選擇輸入及參考源。
*2個(gè)16位的定時(shí)/計(jì)數(shù)器(每一個(gè)定時(shí)器均可設(shè)置為溢出時(shí)觸發(fā)相應(yīng)端口輸出或作為PWM輸出)和一個(gè)23位的系統(tǒng)定時(shí)器,系統(tǒng)定時(shí)器可用作實(shí)時(shí)時(shí)鐘。
*增強(qiáng)型的UART。具有波特率發(fā)生器,間隔檢測(cè),幀錯(cuò)誤檢測(cè),自動(dòng)地址識(shí)別檢測(cè)功能;
400KHZ的字節(jié)寬度I C總線通信端口和SPI通信端口。
* 捕獲/比較單元(CCU)提供PWM,輸入捕獲和輸出比較功能。
*選擇片內(nèi)高精度的RC振蕩器時(shí)不需要外接振蕩器件??蛇x擇RC振蕩器選項(xiàng)并且其頻率可進(jìn)行很好的調(diào)節(jié)。
*操作電壓范圍為2.4~3.6V。I/O口可承受5V(可上拉或驅(qū)動(dòng)到5.5V)。
二.P89LPC935在通信中的應(yīng)用
網(wǎng)管插件基于P89LPC935單片機(jī)實(shí)現(xiàn),該單片機(jī)有8個(gè)模擬量采集端子、2個(gè)模擬輸出端子和一個(gè)UART通信口。其原理圖如下
本網(wǎng)管插件是通過兩個(gè)雙排24針的模擬輸出端子插在相應(yīng)的功能盤上,它主要完成每塊盤的關(guān)鍵性能參數(shù)的采集并分析參數(shù),給出相應(yīng)的判斷(告警、正常)。同時(shí),他還負(fù)責(zé)收集告警量、狀態(tài)量,并將這些信息報(bào)告給上位機(jī)網(wǎng)管盤。網(wǎng)管插件還負(fù)責(zé)通道、架內(nèi)總線和架間總線之間的調(diào)度。網(wǎng)管插件的地址是通過 ADD0~4,ADD7位來地址編碼的,插件母板即功能盤需提供8位撥碼開關(guān)。第1~6對(duì)應(yīng)ADD0~4,ADD7位地址編碼。與上位機(jī)網(wǎng)管盤的全雙工 485通信線有兩組,第一組用于架內(nèi)通信:485IN1+, 485IN1-, 485OUT1+, 485OUT1-;另一組用于架間通信:485IN2+, 485IN2-, 485OUT2+, 485OUT2-。485IN+, 485IN-是網(wǎng)管盤輸入的差分信號(hào)線,485OUT+, 485OUT-是網(wǎng)管盤輸出的差分信號(hào)線。SELECT1, SELECT2為通道的選擇控制開關(guān)。SELECT2:SELECT1為00時(shí),通道與架內(nèi)總線TD1, RD1對(duì)接;SELECT2:SELECT1為01時(shí),通道與架間總線TD2, RD2對(duì)接。采用中斷的方式接收上位機(jī)發(fā)來的命令,接收采用第4號(hào)中斷,采用查詢的方式向上位機(jī)應(yīng)答,兩者之間的通信遵循串口通信協(xié)議。本機(jī)采用內(nèi)部 7.373MHzRC振蕩器,采用串口模式1,每次10位數(shù)據(jù),1位啟始位(0),8個(gè)數(shù)據(jù)位(LSB在前)以及1個(gè)停止位(邏輯1)。該模式波特率可變,由定時(shí)器1的溢出率來產(chǎn)生波特率。定時(shí)器1使用模式1,即16位的定時(shí)寄存器,定時(shí)器0使用模式2,即可自動(dòng)重裝的8位計(jì)數(shù)器。UART初始化和接收中斷程序如下:
三.P89LPC935在ICP編程中的功能
P89LPC935還具有在電路編程(ICP)功能,在電路編程方法允許使用商業(yè)編程器來實(shí)現(xiàn)編程和擦除功能,而無需將微控制器從系統(tǒng)中移出,可完全由微控器硬件完成,不需要外部引導(dǎo)器。ICP是一種串行編程方式,其通過一根時(shí)鐘線和一根數(shù)據(jù)線串行傳輸編程指令及數(shù)據(jù),ICP功能使用芯片的5個(gè)管腳()與LCP900連接器上的5個(gè)引腳,PCL,PDA,RESET 相連(這里V 使用3.3V電壓)。在本例中用的4位正撥撥碼開關(guān)與編程插針JP2及芯片上相應(yīng)的管腳相連,平時(shí)打在ON狀態(tài),P0.5,P0.4用于其他功能,當(dāng)是使用在電路編程功能時(shí)撥碼開關(guān)打到OFF一側(cè),這時(shí)即可使用在電路編程功能,此時(shí)將ICP900連接器上的相應(yīng)引腳引線接到編程插針JP2上用編程軟件 CP900 Programmer 即可編程,其編程如下圖示:
ICP900連接器是周立功單片機(jī)發(fā)展有限公司,為方便用戶進(jìn)行ICP操作,特地設(shè)計(jì)開發(fā)的一塊跳線板,將其插入編程器插槽后,可從上面方便地引線至目標(biāo)板;當(dāng)然如果用戶了解編程器中的ICP相應(yīng)引腳,也可以根據(jù)自己的情況從編程器上引線。上圖中,插入編程器插槽中的為ICP900連接器,右側(cè)有5排5針插孔;第一排為L(zhǎng)PC901/902/903/904專用,第二排為L(zhǎng)PC906/907/908專用,第三排為L(zhǎng)PC912/913/914/915,第四排為L(zhǎng)PC916/917/920/921/922/924 /925,第五排為L(zhǎng)PC930/931/LPC932A1/933/934/935。
ICP方式在應(yīng)用中有以下優(yōu)點(diǎn):
*在產(chǎn)品發(fā)貨前,可以隨時(shí)裝載最新版軟件程序。
*在開發(fā)過程中,不需將芯片從系統(tǒng)板上取下,即可實(shí)現(xiàn)重新編程。
*不占用程序存儲(chǔ)空間(ISP要占用一定空間駐留ISP服務(wù)程序)。
*不受串口的影響。
本例在調(diào)試時(shí)多次使用ICP功能,將程序?qū)懭胄酒?,不掛仿真器進(jìn)行聯(lián)板調(diào)試。
四.結(jié)束語(yǔ):
本文所給出的網(wǎng)管插件由于使用了P89LPC935這種高性能的單片機(jī),因而結(jié)構(gòu)小,體積小,功能強(qiáng),在實(shí)際的通信應(yīng)用中效果佳,能正確地將每塊功能盤的關(guān)鍵性能參數(shù)的采集并分析參數(shù),給出相應(yīng)的判斷(告警、正常),并能實(shí)時(shí)正確的向上位機(jī)報(bào)告告警量和狀態(tài)量,并能很好的負(fù)責(zé)架內(nèi)總線和架間總線之間的調(diào)度,已在某裝有視頻監(jiān)控設(shè)備的機(jī)房里使用并穩(wěn)定運(yùn)行。
參考文獻(xiàn):
1. 吳微等:《單片機(jī)原理及制作》,武漢大學(xué)出版社,1991
2. 李華等:《MCS-51系列單片機(jī)實(shí)用接口技術(shù)》,北京航空航天大學(xué)出版社,1993
3. 何立名:《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)》,北京航空航天大學(xué)出版社,1990
4. 張毅剛:《MCS-51單片機(jī)應(yīng)用設(shè)計(jì)》,哈爾濱工業(yè)大學(xué)出版社,1990
5. 《Microcontroller Hand book》,Intel Corp. ,1986