基于PIC12F629單片機(jī)的新型醫(yī)用呼叫對(duì)講系統(tǒng)設(shè)計(jì)
分機(jī)發(fā)碼采用100 kHz的方波,由單片機(jī)GPIO4引腳輸出并經(jīng)三極管耦合至總線。分機(jī)呼叫時(shí)發(fā)送一定時(shí)長的方波,如圖6所示,分機(jī)回復(fù)主機(jī)的信號(hào)是間隔性的方波,如圖7所示。
3.2 主機(jī)發(fā)碼方式
主機(jī)發(fā)碼采用變長占空比發(fā)送碼元,其中1:1的占空比表示0碼元,而若占空比為3:1則表示碼元1,主機(jī)發(fā)碼示意圖如圖8所示。
3.3 通信協(xié)議
為保證通信過程的可靠性,特制定如下通信協(xié)議:主機(jī)發(fā)碼數(shù)據(jù)格式規(guī)定為:控制命令+分機(jī)地址,每次發(fā)送11位數(shù)據(jù),其中bit11~bit9為是命令碼,低字節(jié)為指定分機(jī)的號(hào)碼。主機(jī)發(fā)碼時(shí),先發(fā)起始信號(hào),分機(jī)識(shí)別到起始信號(hào)后開始收碼。分機(jī)的號(hào)碼存儲(chǔ)在各自E2PROM里,初始值均設(shè)為0,主機(jī)可對(duì)其在線編碼,收到主機(jī)的改號(hào)命令,所有分機(jī)的LED指示燈點(diǎn)亮,提示用戶按鍵,修改成功后將返回主機(jī)一個(gè)確認(rèn)信號(hào),否則將超時(shí)退出而不作處理。分機(jī)只有在主動(dòng)呼叫或識(shí)別到主機(jī)的起始信號(hào)后才被喚醒,平時(shí)處于睡眠狀態(tài),因此極大地節(jié)省了功耗。
主機(jī)查詢時(shí),每查詢一個(gè)分機(jī)后,都先檢測是否有摘機(jī),若摘機(jī)將會(huì)執(zhí)行摘機(jī)流程。所有分機(jī)的忙標(biāo)志從剛開始查詢時(shí)就會(huì)被置位,此不允許分機(jī)呼叫時(shí)再發(fā)碼,此時(shí)分機(jī)呼叫主機(jī)仍能檢測到,只是總線上沒有方波傳輸,因此保證了通信的穩(wěn)定性。
主、分機(jī)進(jìn)行語音通信時(shí),其他分機(jī)仍可以發(fā)出呼叫,由于請求信號(hào)的方波是100 kHz,而語音頻率范圍為0.3~3.4 kHz,主機(jī)在電話掛機(jī)的狀態(tài)下才查詢呼叫的分機(jī),不會(huì)相互干擾,因此語音信號(hào)和數(shù)字信號(hào)可以同時(shí)在總線上傳輸。分機(jī)呼叫時(shí)發(fā)送100 kHz方波到總線,主機(jī)由收到電路檢測到低電平,觸發(fā)中斷進(jìn)行收碼,然后主機(jī)將先屏蔽此呼入中斷,再開始按病床護(hù)理等級(jí)的高低依次查詢,若查詢到該分機(jī),就回復(fù)應(yīng)答信號(hào),沒有呼叫的分機(jī)不做應(yīng)答。查詢完以后恢復(fù)呼入電平中斷,并發(fā)送命令通知分機(jī)復(fù)位的忙標(biāo)志位。
4 主分機(jī)軟件設(shè)計(jì)與實(shí)現(xiàn)
4.1 工作流程
系統(tǒng)主機(jī)、分機(jī)通信軟件主要包括發(fā)送和接收2部分,分發(fā)送模塊和主機(jī)收碼流程分別如圖9和圖10所示。每個(gè)分機(jī)需包含分機(jī)地址碼,廣播機(jī)標(biāo)志位,這些信息均存儲(chǔ)在E2PROM中,當(dāng)?shù)谝淮螁?dòng)分機(jī)后,寫入初始值,以后只從指定地址讀取分機(jī)信息。地址分配如表1所示。
為了保證發(fā)碼的準(zhǔn)確性,使波形更加精確,在發(fā)碼模塊采用了匯編語言提高,并通過參數(shù)控制發(fā)碼周期,發(fā)送100 kHz的方波,精確到微秒級(jí),經(jīng)實(shí)驗(yàn)測得頻率誤差小于5%。收碼均用定時(shí)器讀取。由于主機(jī)采用變長編碼,因此分機(jī)解碼過程需要根據(jù)協(xié)議進(jìn)行1或O門限判決;主機(jī)解碼主要由鎖相環(huán)集成芯片LM567完成,加上分機(jī)回復(fù)碼只分有無回復(fù)二種。
4.2 系統(tǒng)穩(wěn)定性
此系統(tǒng)很好解決了呼叫與請求總線的沖突,由于主機(jī)總是從1號(hào)分機(jī)查詢到最后一個(gè),主機(jī)在查詢時(shí)分機(jī)都不能發(fā)100 kHz的方波,因此總線不會(huì)受到干擾,誤碼率大大降低,且不會(huì)遺漏分機(jī)請求,即使出現(xiàn)100個(gè)分機(jī)同時(shí)呼叫這種極端情況,主機(jī)也能一一響應(yīng)。主機(jī)采用變長編碼,分機(jī)用碼時(shí)采用定時(shí)器讀取,配以計(jì)數(shù)的狀態(tài)機(jī),使CPU能準(zhǔn)確解碼,而且能夠消除毛刺帶來的影響,保證了收碼的準(zhǔn)確性。主機(jī)和分機(jī)在主循環(huán)中同樣采用狀態(tài)機(jī),用全局變量在各狀態(tài)間切換并用變量及標(biāo)志位控制,合理地分配CPU資源,能夠及時(shí)處理最緊急事件。主機(jī)電話掛機(jī)還能復(fù)位輸入的變量,即使操作失誤,仍能通過掛機(jī)來取消。
5 結(jié)語
該系統(tǒng)采用載波技術(shù),實(shí)現(xiàn)了兩線無極性連接,使安裝施工變得十分簡單。分機(jī)采用低功耗穩(wěn)壓電源和PIC單片機(jī),使分機(jī)具有較低功耗,從而系統(tǒng)具有較好的擴(kuò)展性。主機(jī)與分機(jī)通信距離大于等于1 000 m,分機(jī)數(shù)大于等于100,能滿足各種規(guī)模醫(yī)院的要求,并預(yù)留了接口與PC進(jìn)行通信。在通信穩(wěn)定的基礎(chǔ)上,使用了經(jīng)濟(jì)實(shí)惠的芯片,具有安裝布線簡單,便于檢測維修,節(jié)約設(shè)計(jì)成本等優(yōu)點(diǎn)。本文研發(fā)的樣機(jī)已經(jīng)經(jīng)過實(shí)驗(yàn)運(yùn)行驗(yàn)證了其有效性和實(shí)用價(jià)值,并已投入小批量試生產(chǎn),具有良好的推廣應(yīng)用前景。
評(píng)論