用MC68HC05PD6設計低成本尋呼機 Low Cost Pager's Solution with MC68HC05PD6
摘要:Motorola公司在單片機MC68HC05PD6內部集成了POCSAG協議尋呼解碼器和144段LCD驅動器,特別適合于設計數字尋呼機。由于該芯片內集成了非常豐富的資源,因此,如果用來設計中文尋呼信息機,也能獲得很高的性能價格比。針對該芯片的基本特性,本文介紹了用MC68HC05PD6設計尋呼機的電路構成和一些實際經驗。
關鍵詞:無線尋呼; Motorla單片機; POCSAG編碼; MC68HC05 PD6?
?
??? 隨著公眾尋呼網的飛速發展,尋呼接收機的設計制造技術日臻完善,特別是集成電路技術的進步,使尋呼機不斷朝著多功能、高性能和低成本等方向發展。以基帶信號處理的控制部分為例,過去,尋呼機最少需要1片基帶信號解碼器、1片MCU(Micro-Controller Unit,單片機)和1片LCD(Liquid Crystal Display,液晶顯示器)驅動芯片,即“3片機”方案;現在許多MCU能夠把LCD驅動器集成進去。如MC68HC05L16、KS88C2148等可構成“2片機”方案。而Motorola公司在MC68HC05PD6(以下簡稱PD6)內部集成了POCSAG協議尋呼解碼器(P-Decoder)和144段LCD驅動器,即把三者都集成在一片芯片中,從而提供了數字顯示型尋呼接收機的一種最簡單的解決方案。
1. 基本特點
PD6內含工業標準M68HC05的8位CPU內核,是HCMOS單片機MC68HC05家族成員之一。其指令系統與M68HC05兼容。
PD6采取多種手段以降低芯片功耗,它可在低至3V電壓下工作,具有運行、等待、休眠等3種工作模式。雙振蕩器支持4MHz/76.8kHz頻率。程序運行時可選擇4MHz振蕩源以獲得1MHz高速內部操作時鐘,而在休眠狀態時,關閉4MHz振蕩器,停止MCU內部進程(包括定時器)以降低電耗。76.8kHz振蕩器永不停止,它給解碼器提供工作時鐘,使解碼器在MCU休眠時仍能工作。PD6運行時供電電流為2.5mA,休眠時僅250μA。
片內帶有可供使用的16kByte用戶ROM,這使得設計的尋呼機功能更多,也不用擔心程序空間不夠,即使存儲多首音樂數據也不會捉襟見肘。可提供OTP(One-Time Programmable,可一次編程)、EPROM、掩膜等多種ROM的版本。便于開發和批量生產。
片內有512Byte可用RAM(其中64Byte用于堆棧),在滿足用戶程序運行之余,還有足夠的空間存儲尋呼消息,可以存儲20條數字尋呼消息而不用外擴RAM。
該芯片內有8個8位I/O口PA~PH,包括48根雙向I/O線,16根單向輸出線。所有I/O的訪問均采用片內RAM映射方式(映射到片內64Byte RAM),I/O功能可靈活設置。芯片的引腳可作為內部特定資源的I/O,也可當作通用I/O線使用。例如:PD~PH等5個8位I/O口既可設置成LCD驅動器輸出以滿足數字顯示型尋呼機的需要;也能設置成24根雙向I/O線加上16根單向輸出線使用,以便于設計漢字顯示型尋呼機。所有I/O線的最大高電平輸出能力均為0.4mA,PA~PC最大低電平輸出能力為0.8mA,PD~PH為5.0mA。
PD6內部有1個14位加法計數/分頻器、1個具有輸入捕捉和輸出比較功能的16位定時器、1個8位外部事件計數/定時器,以及用“看門狗”定時器和14位加法計數/分頻器構成時基電路,它們由振蕩源128分頻后驅動,可提供LCD時鐘、上電復位時鐘和“看門狗”時鐘。“看門狗”定時器用于監視CPU運行是否正常,程序跑飛或鎖死時能自動復位MCU。外,MCU在RESET引腳輸入低電平時,在初始化上電、發生非法地址訪問等情況下也能可靠復位。
具有獨立的24小時制實時時鐘,由76.8kHz振蕩器分頻后計數。休眠狀態實時時鐘不停止,因而能方便地實現24/12小時制時間顯示。
芯片具有獨立的144段LCD驅動器,支持(3或4線背板電極)×(1~36線前板電極)。除了能滿足12個8段數字顯示外,剩余48段還可驅動多個小數字或形象化操作圖標,美化顯示界面。各LCD段映射在內部RAM區內,具有自動掃描輸出,無需復雜時序操作。LCD時鐘由時基電路產生,如果時基電路的時鐘來自76.8kHz低頻振蕩器,在休眠狀態也能正常顯示。復位時LCD驅動器各引腳輸出高電平,令LCD無顯示,避免開機時屏幕雜亂無章。
內含獨立的尋呼解碼器。完全兼容CCIR第1號尋呼協議(POCSAG協議)。該解碼器與CPU接口通過功能寄存器實現,從而使數據傳送更快捷。解碼器可接收只鳴型、數字型、字符型等格式消息數據。支持512bps、1200bps、2400bps等速率;可用軟件控制適配基帶信號極性并可提供多達6個用戶地址;有自動節電控制和運行功能,支持寬帶鎖相環控制;能糾正地址碼字或消息碼字的2位錯誤。
中斷源包括不可屏蔽軟件中斷、解碼器中斷、外部中斷、按鍵喚醒中斷、定時器中斷、串行通信口中斷和實時時鐘中斷等。復位、解碼器中斷、外部中斷、按鍵喚醒中斷和實時時鐘中斷都能輕松喚醒休眠模式。
采用80引腳四方形扁平(QFP)封裝,其引腳距離為0.65mm或0.50mm 2種規格,體積小巧。
2. 尋呼接收機的電路構成
2.1 數字顯示型尋呼機
圖1是典型的數字顯示型尋呼接收機的電路構成圖。
圖中PD6與寬帶處理電路的接口線包括DIN、BS1~BS3等4根。它們連通著U2內部解碼器,控制時序由解碼器自動產生,不需程序操作。DIN是前級基帶信號輸出,BS1~BS3分別對應射頻電路開關、射頻電路電容放電、鎖相環電路開關等控制。設計掃頻式尋呼接收機時,寬帶電路應有鎖相控制。也就是說MCU應有與寬帶電路的鎖相接口,圖1電路中PA口的PA4~PA7是空閑的,可以連至射頻電路充當此任。
尋呼機在電池電壓不足或電池臨時取出時應具有檢測與顯示功能。圖1中BL是寬帶處理電路輸出的電池電壓不足信號,當電池電壓不足時,BL輸出一低電平,使得連接于U2的45腳IRQ2產生外部中斷,及時通知MCU。若前端輸出的BL信號為高電平有效時(譬如TA31142寬帶接收器等),則應將該信號反相。在用戶更換尋呼機電池時,MCU應關閉尋呼機所有功能模塊以減小電耗,從而使C3中儲存的電能可保持RAM中的尋呼信息在更換電池期間丟失。圖中D2、C5、R4等元件起檢測是否有電池的作用。U1及其外圍元件構成DC-DC變換電路,將1.5V電池電壓變換至3.0V以供給尋呼機主電源。若尋呼用戶取出電池時,C1中儲能很快消耗掉,使得D2的陽極電壓為零,這樣,U2的46腳被R4拉至低電平,令IRQ1引腳產生MCU外部中斷而達到通知MCU的目的。當電池裝上時,U1正常工作,并在2腳產生約3.5V脈沖電壓,D2為一肖特基二極管,它的工作原理和D1一樣,任務是將此高電壓脈沖調整到3V,經C5平滑后將U2的45腳升至高電平,使IRQ1無效。電池取出期間,IRQ1引腳總是低電平,因此IRQ1產生中斷后,程序應關閉這一中斷源,以免它重新喚醒MCU的休眠。
EVO是PD6的8位定時/計數器(定時器2)的輸出端,它將系統時鐘分頻后在44腳輸出,改變定時器2的分頻系數,能使其輸出頻率適配蜂鳴器B1的諧振頻率。當然也可以將此引腳當作普通I/O線使用,程序控制輸出高、低電平。在T1截止瞬間,B1中電流不能突變,它將在T1集電極產生一很高的負電壓尖峰,圖中并聯在B1兩端的二極管D3是一肖特基二極管,起阻尼作用,能將這一負電壓尖峰箝位在0.3~0.5V左右。但D3的接入將使B1通電時間延長,若要使B1得到對稱波形的電流,T1基極的脈沖占空比最好降至30%。
PD6的輸出低電平電流最大為0.8mA(輸出0.4V時測量),要使它驅動三極管T1~T3工作于開關狀態,那么,T1~T3的β值、集電極最大容許電流ICM均應足夠大,并且飽和壓降較低。一般地,它們的β值應達到200~500,集電極最大容許電流ICM應在300mA左右。圖1中電路只能保證電池電壓為1.2V時T1~T3可靠驅動80mA負載,若某些負載元件(譬如B1)的瞬態電流超過這一數值,建議再加一級電流放大。圖2給出改進后的蜂鳴器驅動電路。
D1、D2和D3均建議使用肖特基二極管,因為這種類型的二極管的導通壓降較低,如果用IN4148之類的PN結開關二極管雖能正常工作,但會帶來更大的損耗,特別是D1。
U3用來記錄尋呼機用戶的標識碼(包括6個地址)。除了圖中93LC46外,還可以選擇諸如24LC01等通用的EEPROM。它們的連線及程序根據具體情況來考慮。其它的文獻介紹得較多,這里不再贅述。
PD6的LCD驅動器輸出的背極與前極之間交變電壓峰峰值為2VDD,在3V電壓供電時,能產生6V的交變輸出,應據此來選擇合適的LCD。第10腳外接一個約100kΩ的電阻到地可以調整LCD的對比度。具體參數應通過實驗來確定。
2.2 中文信息尋呼機
中文機需要內置一尋址空間達256kByte的16×16點陣國標漢字顯示字庫(存儲在ROM中)。為保存更多的信息,通常還需擴充容量為8k~32kByte的RAM。通常8位MCU的尋址空間最多能達到64kByte,PD6也不例外。所以,對字庫的點陣數據的讀取要通過I/O線完成尋址操作。另外,漢字是以圖形方式顯示的,以顯示2行共14個漢字為例,需要驅動14×16×16=3584點象素,除專用于LCD驅動的MCU外,大多數MCU都具備這樣的驅動能力。因此,目前生產的中文機無一例外地采用專門的圖形LCD模塊。
PD6雖是針對數字尋呼機而設計的,然而用來設計中文尋呼機也能獲得良好的性能價格比。用于中文機時,PD6內部LCD驅動器發揮不了作用。這樣PD6的PD~PH等5個8位I/O口共40根I/O線可全部空出來作為普通I/O使用。把LCD顯示模塊、字庫ROM、擴充RAM等的地址線和數據線分別連在一起,通過片選信號選擇不同的數據傳送對象,這樣可以大大減少I/O操作線的數目。這些操作最多只需20~24根I/O線,PD6的資源完全能滿足要求,并能空出最少20根線。另外,PD6內部集成了解碼器,價格與其它的不含該單元的MCU差不多,故而性能價格比很高。另外,PD~PH口驅動能力為5.0mA,比其它的I/O口(0.8mA)大得多,T1~T3改用這些I/O線驅動時,驅動能力更強。這樣就用不著類似圖2中的電流放大電路了。
中文機往往需要更多的操作按鍵,圖1中用了3個鍵,KWI口還有5根輸入線空閑,能輕松擴充多個按鍵輸入。
解碼器可支持6個用戶地址,每個地址信息有2位功能位區別。當解碼器接收到尋呼消息后,能給出所對應地址的功能位。于是,可以利用這些功能位提供多達4×6=24個消息箱。并且最少可提供20個公用消息信箱,大大增強了尋呼機的信息功能。解碼器與CPU接口非常簡單,這是一個得天獨厚的條件,可以利用這些功能位擴充用戶地址,使POCSAG協議尋呼系統的用戶地址數達到800萬,便于構成全國網。
3. 程序設計注意事項
由于PD6內部I/O映射RAM為雙映射方式,加上MCU內部功能較多,而且控制寄存器相互之間存在關聯,因此,這些映射RAM的訪問比較繁瑣,故要謹慎細致。
3.1 時基電路的時鐘源
時基電路的輸出提供給LCD和“看門狗”等電路使用,它的時鐘源可選取高頻時鐘,也可選取低頻時鐘。但應注意,高頻振蕩器在MCU休眠狀態時被關閉,選擇這一時鐘源將使LCD在休眠期間無顯示,這不符合數字尋呼機的習慣。如選擇低頻時鐘源,“看門狗”定時器在休眠期間仍然在計數,從而頻繁產生系統中斷復位MCU,這又是我們所不希望的。故而,要使用“看門狗”功能,則應在進入休眠之前用程序控制關閉“看門狗”定時器。
3.2 解碼器響應
解碼器接收到信息后,只有5位地址寄存器和20位消息寄存器作緩沖。換句話說,它只能保存一個碼字的信息。如果接收到解碼器的中斷信號不作及時響應的話,很容易丟失消息。特別是當MCU在休眠狀態時,高頻時鐘振蕩源已關閉,系統時鐘只能用19.2kHz的低頻時鐘,解碼器中斷喚醒休眠后,應首先取空接收信息寄存器RAIR、RMIRx的內容,再啟動高頻振蕩器。由于高頻振蕩器有一個起振和穩定的過程,通常這一時間約在數毫秒至數十毫秒之間。在它穩定之前,切不可將主時鐘切換到這一時鐘源上,否則可能失步而丟掉尋呼信息。
3.3 群呼消息的靜音
通常每個尋呼接收只有1個私人消息地址,解碼器的其它地址常作群呼公眾信息地址。如果接收群呼消息(如天氣預報)時,尋呼機頻繁告警常令用戶頭痛,中文機尤其如此。因此,設計可以考慮提供用戶操作接口,設置是否需要群呼消息告警。解碼器能返回所接收消息的匹配地址和消息內容,設計消息存儲數據結構時應注意到這一點。
4. 結束語
POCSAG協議碼字采用BCH編碼,這種編碼除能糾正2位隨機錯外,還能糾正4位突發錯。但是,Motorola發布的PD6手冊中還沒有提及解碼器對突發錯的糾正能力,也沒有提及倍頻采樣、數字濾波的措施。幸好我國POCSAG尋呼網大多數使用150MHz頻段,對突發錯不太敏感。我們當然不能要求PD6的解碼器的性能超過昂貴的專用尋呼解碼器。如果寬帶電路的靈敏度提高2~3dB,再配合PD6作基帶處理,性能會更好些。
Motorola公司作為當今世界上最大的單片機制造商和尋呼系統制造商之一,在這兩方面都有先進的技術。因而PD6與其它公司同期推出的類似芯片相比,具有靈敏度高、耗電省、性能穩定、編程簡單等諸多優點,無論用于構成數字顯示型還是中文顯示型POCSAG尋呼機均能獲得良好的性能價格比,其應用前景非常廣闊。件和升壓電感L1、PFC功率開關Q1、升壓二極管D1等組成平均電流型連續傳導模式(CCM)PFC預變換器。R1為電流檢測電阻,UCC38500的18腳用于檢測AC輸入電流,在19腳通過IAC流入外部的單極點濾波器產生一個AC輸入電壓前饋信號VFF。有源PFC升壓變換器DC輸出電壓(385V)被U1的3腳檢測,通過調節12腳(GT1)輸出驅動PWM占空比,可保證PFC變換器DC輸出電壓的恒定。U1腳4通過檢測PFC變換器DC輸出電壓和第二級輸出驅動器電壓來實現過電壓保護功能。U1腳14為PFC峰值電流輸入,用來完成PFC峰值電流的限制功能。
R3與C10為U1的VCC啟動元件。只要PFC變換器開始工作,由L1的副繞組、D6與D7、C12與C20及R10等組成的泵電源即可為VCC腳提供工作電壓和電流。
U1的腳10(GT2)輸出的占空比被限制在50%以下,該腳輸出PWM脈沖通過變壓器T2耦合后用來驅動Q3、Q4開關。PFC變換器跟隨的第二極DC-DC正向變換器通過T1進行隔離。次邊DC輸出電壓經R28、R29和R30分壓采樣后輸入到U2的腳7。經過U2內部的誤差放大器后由腳3輸出驅動信號,再經U3隔離放大,饋送到U1的腳7。通過調節U1輸出的PWM占空比,可使SMPS的DC輸出電壓保持穩定。
Q4源極串聯電阻R25為電流檢測元件,U1在接收到R25上的檢測信號后,可實現第二級DC-DC變換器的峰值電流控制功能。
評論
查看更多