校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 智能呼叫系統 > 行業資訊 > EPSON MCU和μC/OS-II實現短信息電話機的通信系統設計

EPSON MCU和μC/OS-II實現短信息電話機的通信系統設計

POST TIME:2021-07-22 17:04

將μC/OS-II實時嵌入式操作系統移植到EPSON八位單片機上來開發短信息電話機。此電話機除普通電話的通用功能外,還增加了短消息收/發功能、信息瀏覽與查閱功能、信息點播與信息訂閱功能等。

1 背 景

Short Messages Phone(短信息電話機)是一種操作簡便、成本低廉的固定電話信息終端產品。它集成了網絡和智能電話的優點,是一種基于信息網絡的,具有交互功能的信息終端產品,可以通過固定電話網絡與信息中心進行數據雙向傳送。

2 系統功能及其實現方案

2.1 功能特點

短信息電話機除了實現普通電話機的通用功能外,還增加了短消息收/發、信息瀏覽與查閱、信息點播、信息訂閱、電話簿、來電號碼顯示與存儲、通話記錄、來電轉移、呼叫等待、呼叫限制、對屏幕的灰度進行設置、對回執進行設置以及時鐘和日歷功能、鬧鐘功能、特色鈴聲功能、記事本功能等。

短信息電話機還可以和信息中心在線交互,查看信息中心提供的信息(例如天氣預報、電視預告、電影預告、股價查詢、話費查詢、區號郵編查詢、新聞欄目、彩票信息等等),還可以訂閱一些自己喜歡的信息。在線瀏覽的信息取決于信息中心提供的信息。

短信息電話機就像是一個固定的手機。手機的功能幾乎它都具備。

2.2 硬件方案

(1)MCU的選擇

MCU是整個方案的核心,由它來處理CPE(客戶端設備)與IIS(集成信息系統),控制整個電話機的各個功能部件。由于人機界面對速度的要求不是很高,數據通信速度也相對較低,一般的8位MCU就能夠滿足方案的要求。我們選擇EPSON 的EOC88系列的E0C88104芯片。

(2)數據信號的解/編碼

① FSK信號的解碼。FSK(頻移鍵控)的解碼選用臺灣華邦公司的W91030。它是用同步串口與MCU連接的,不僅能提供FSK的解碼,而且還能提供CAS信號的檢測(CAS信號是IIS與CPE連接時下傳的一個很重要的握手信號)和振鈴檢測,是一款很實用的芯片,但它的成本較高。如果用分離器件,也能做到FSK解碼,但這樣做沒有經過驗證,風險較大。

② DTMF信號的解碼。選用的是9170,這一款芯片是很通用的。

③ DTMF信號的編碼。選用的是臺灣華邦公司的W91082,同樣是以同步串口與MCU相連接。

④ FSK的編碼。FSK信號的編碼不是必需的,考慮到FSK傳送的效率要比DTMF高20“28倍,當然最好選用FSK上傳方式。由于相應的FSK的編碼器件價位很高,本方案采用了低成本的軟件方式作為后備模塊。

(3)語音電路

目前選用的是Philips公司的TEA1098。該器件集成了普通話音放大、消側音及免提功能,實用方便,但價位有點高。考慮到我們初次接觸電話電路,而且這部分也不是關鍵技術,為了縮短研發周期,選擇這款芯片是比較合適的。

2.3 軟件方案

本系統選用μC/OS-II操作系統,將其移植到所選的MCU上。在main中建立一個起始任務

然后,用OSTaskCreate()函數建立6個任務。任務名分別為:HandsetTask(摘/掛機任務)、RingTask(響鈴任務)、KeyTask(鍵盤任務)、SmTask(短消息任務)、UITask(用戶界面(UI)任務)、ClockTask(時鐘任務)。最后,在起始任務中將它本身刪除掉。

(1)摘/掛機任務

當拿起聽筒或放下聽筒時,就產生中斷。在中斷中,調用OSMboxPost(Mbox_Int_Hook,Msg_Int_Hook)來喚醒摘/掛機任務,同時清除中斷標志。Msg_Int_Hook[0]=0x00為摘機,Msg_Int_Hook[0]=0x01為掛機。

摘/掛機任務不斷調用OSMboxPend(Mbox _Int_Hook,0,%26;amp;err)來獲得信箱。獲得信箱后,根據Msg_Int_Hook[0]中的值,就知道是摘機還是掛機,然后調用OSMboxPost(Mbox_Any_UI,Msg_Any_UI)來喚醒UI任務。Msg_Any_UI [0]=任務號1,Msg_Any_UI =0x00為摘機,Msg_Any_UI =0x01為掛機。

在掛機的時候,如果先前是在響鈴的時候摘機的,那么UI任務把它當做已接來電處理;如果不是在響鈴的時候摘機的,那么在掛機的時候把它當做已撥電話處理。

(2)振鈴任務

當鈴聲來到時,就產生中斷。在這個中斷中,調用OSSemPost(Sem_Int_Ring)來喚醒振鈴任務。

響鈴任務調用OSSemPend(Sem_Int_Ring,0,%26;amp;err)來獲得信號量。獲得信號量后,就把下傳的號碼接收下來;根據號碼就可以知道是短信息,還是普通電話。

① 當是短信息時,就調用OSSemPost(Sem_Any _SMTask)來喚醒短消息任務;

② 如果是電話,就響鈴,同時調用OSMboxPost(Mbox_Any_UI,Msg_Any_UI)來喚醒UI任務。這時Msg_Any_UI[0]=任務號2,從Msg_Any_UI開始存的是來電時間和電話號碼,然后調用OSSemPend(Sem_Int_Ring,RING_RECV_TIMEOUT,%26;amp;err),來延時響鈴一段時間。

如果在這段時間內沒有接電話,那么必然會超時,于是就清除鈴聲中斷,同時調用OSMboxPost(Mbox_Any_UI,Msg_Any_UI)來喚醒UI任務,這時Msg_Any_UI[0]=任務號2,Msg_Any_UI=0xff表示鈴聲結束。UI任務把它當作未接來電處理。

如果在這段時間內接電話,就必然喚醒摘/掛機任務。如果從響鈴到對摘/掛機任務處理完畢所需要的總時間還沒有到RING_RECV_TIMEOUT,那么,當時間到了,UI任務也會收到鈴聲結束的消息;但此時,UI任務不對它做任何處理。

響鈴任務如何區別是正常的電話還是信息中心的來電信息呢?其實很簡單。信息中心也是一個終端,是由一個特定的號碼來確定的。就像用不同的電話號碼來區別不同的用戶一樣。這樣響鈴任務就可以根據電話線上下傳的號碼,來確定是哪種情況了。

(3)鍵盤任務

有按鍵按下時,產生一中斷,在中斷服務子程序中調用OSSemPost(Sem_Int_Keyboard)來喚醒鍵盤任務,同時清除中斷標志。鍵盤任務調用OSSemPend(Sem_Int_Keyboard,0,%26;amp;err)來獲得信號量。獲得信號量后,鍵盤任務將調用OSMboxPost(Mbox_Any_UI,Msg_Any_UI)喚醒UI任務。

Msg_Any_UI[0]為任務號3, Msg_Any_UI為鍵值。

(4)短消息任務

該任務調用OSSemPend(Sem_Any_SMTask,0,%26;amp;err)獲得信號量。當獲得信號量后,通過標志位判別是準備上傳數據還是下傳數據。

① 下傳數據時,將下傳的數據放在recv_buf[]中,然后調用OSMboxPost(Mbox_Any_UI,Msg_Any_UI)喚醒UI任務。Msg_Any_UI [0]=任務號4,從Msg_Any_UI 開始存的是從recv_buf[]中篩選過的數據。這是在連上后從信息中心下載信息的情況,其中Msg_Any_UI 存的是信息的種類號,種類號都是大于0x80H小于0xFFH的;沒有連上信息中心或者是連上之后完成任務。這時recv_buf存的就是0xff;如果剛剛連上,就在recv_buf存0x01。

② 如果用戶需要發送短消息任務,先將信息存在Msg_send_buf[]中,然后UI任務調用OSSemPost(Sem_Any_SMTask),將該任務激活。該任務提取存在Msg_send_buf[]中的信息后,包裝后保存在send_buf[],然后將其發出去。

(5)用戶界面任務

UI任務一直在等待消息。當它被激活時,根據存在Msg_Any_UI[255]中的不同數據進行不同的處理。詳述見“3.用戶界面任務詳述”。

(6)時鐘任務

單片機每10ms產生一個中斷,在這個中斷服務子程序中,對clock_count減1。當減為0時,就調用OSSemPost(Sem_Int_ClockTask)喚醒時鐘任務;同時,clock_count重新回到100。這樣每1s,就會調用一次OSSemPost(Sem_Int_ClockTask)。時鐘任務調用OSSemPend(Sem_Int_ClockTask,0,%26;amp;err)獲得信號量。當獲得信號量時,就更新時間。如果在23:59:59的時候更新時間,那就要同時更新日期和星期。如果此時UI任務處于待機狀態,時鐘任務就調用OSMboxPost(Mbox_Any_UI,Msg_Any_UI)來喚醒UI任務。Msg_Any_UI[0]為任務號0x06。時鐘任務只是負責更新時間,顯示時間是由UI任務在待機的時候來完成的。

3 用戶界面任務詳述

在所有這些任務中,用戶界面任務做的工作相對比較煩瑣。首先,根據放在Msg_Any_UI[255]中的第一個字節,判斷是什么任務激活了本任務。

① 如果是摘/掛機任務激活的,再判斷第二個字節的值,根據值的不同知道是掛機還是摘機。如果是掛機,就在液晶上顯示待機畫面。如果是摘機,就在液晶上顯示打電話圖標和有關的字樣,并等待鍵盤任務送來的數字鍵,將其顯示出來。(只有主動向外打電話才顯示數字鍵,在接電話按數字鍵轉接時不顯示數字鍵。)

② 如果是振鈴任務激活的,就將Msg_Any_UI[255]中接下來的來電號碼、時間和來電圖標顯示在液晶上。

③ 如果是鍵盤任務激活的,就根據3號任務放在Msg_Any_UI[255]中的鍵值和當前的工作模式做不同的處理。

如果是在摘機模式下,就只是響應數字鍵和#*鍵,并每按一個鍵就通過5號任務號碼發出去。

如果是在掛機模式下,那么,就可以響應數字鍵和有關操作菜單的鍵(包括進入各個子菜單的快捷鍵、上下鍵、左右鍵、返回上級菜單鍵、快速返回待機畫面的鍵、確定鍵、刪除鍵、拼音輸入法/字母輸入法/數字輸入法/短語輸入法切換鍵)。各個菜單是不同的狀態,通過鍵值和原來的狀態可以知道現在該進入什么狀態。然后根據新得到的狀態,進行相應的液晶刷新和完成相應的功能。比如添加、刪除、查找電話簿;添加、刪除、查找通話記錄;編輯短消息并發送出去,刪除草稿箱里的短消息;寫記事本,設置鬧鐘、時間、日期,設置信箱的密碼,設置信息中心的號碼等。

如果是在與信息中心的連接模式下,那么就可以響應上下鍵,確定鍵(進入下級菜單),返回上一級菜單,通過選擇返回這個選項來實現。

④如果是短消息任務激活的,就根據Msg_ Any_UI[255]中的命令碼,來確定該信息的模塊種類是信息下載管理模塊、信息上傳管理模塊、信息詢問管理模塊,或者是屏幕信息輸出管理模塊,然后,再根據Msg_Any_UI[255]中接下來的信息做相應的處理。

⑤ 如果是時鐘任務激活的,UI任務就刷新界面上的時間、日期和星期這些信息。

4 調試環境與調試成果

此程序用EPSON公司的S1C88 C-Compiler編譯器編譯,用EPSON公司的ICE88UR 的E0C88系列在線仿真器進行仿真。在仿真器下仿真完畢后,再脫機運行。試驗結果令人滿意,達到了預期的效果。

責任編輯:gt

標簽:包頭 健身房 車展營銷 陽江 石家莊



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
午夜精品一区二区三区三上悠亚| 亚洲成人综合网站| 欧美三区免费完整视频在线观看| 日韩国产精品久久| 国产精品初高中害羞小美女文| 日韩美女主播在线视频一区二区三区 | 亚洲欧美偷拍三级| 91精品国产乱码久久蜜臀| 成人免费三级在线| 免费在线一区观看| 一区二区三区欧美激情| 国产清纯在线一区二区www| 在线电影一区二区三区| av不卡一区二区三区| 国模无码大尺度一区二区三区| 亚洲一区二区成人在线观看| 国产精品无圣光一区二区| 日韩午夜av电影| 欧美视频在线一区| 91色乱码一区二区三区| 国产成人av一区二区| 蜜桃视频第一区免费观看| 亚洲v精品v日韩v欧美v专区| 一区二区三区在线视频观看58| 欧美国产激情二区三区| 精品国产123| 欧美一区永久视频免费观看| 色婷婷综合久色| 97精品超碰一区二区三区| 国产成人综合亚洲网站| 国内精品自线一区二区三区视频| 日韩av高清在线观看| 天堂va蜜桃一区二区三区| 伊人婷婷欧美激情| 《视频一区视频二区| 中国色在线观看另类| 国产日产精品1区| 久久久久久毛片| 亚洲一区二区精品久久av| 亚洲伦理在线精品| 1024亚洲合集| 亚洲免费观看高清完整版在线观看 | 久久一二三国产| 日韩欧美中文字幕一区| 欧美一区永久视频免费观看| 91精品国产91热久久久做人人| 欧美中文字幕不卡| 欧美中文一区二区三区| 欧美色综合网站| 日韩欧美一区二区在线视频| 欧美一卡二卡在线观看| 欧美猛男男办公室激情| 欧美精品国产精品| 欧美大片一区二区| 久久综合九色综合欧美就去吻| 337p日本欧洲亚洲大胆精品| 久久精品人人做人人爽人人| 国产视频视频一区| 国产三级精品在线| 国产精品久久久久久久久图文区 | 日韩一区二区三区免费看 | 欧美日韩免费高清一区色橹橹| 欧美性受极品xxxx喷水| 欧美日韩国产综合一区二区| 欧美一区二区在线看| 久久美女高清视频| 中文字幕亚洲欧美在线不卡| 一区二区三区在线影院| 男男成人高潮片免费网站| 国产精品一区二区黑丝| 91丨porny丨蝌蚪视频| 69p69国产精品| 国产亚洲成aⅴ人片在线观看| 中文字幕中文字幕在线一区| 亚洲成av人在线观看| 九色综合狠狠综合久久| 成人黄色a**站在线观看| 色婷婷狠狠综合| 91精品国产综合久久精品| 久久久久久久av麻豆果冻| 最好看的中文字幕久久| 日本不卡的三区四区五区| 国产成人午夜99999| 色婷婷精品大在线视频| 亚洲精品在线免费播放| 一区二区三区.www| 国产一区在线精品| 欧美这里有精品| 久久久精品tv| 亚洲国产欧美在线人成| 国产成人av资源| 欧美午夜一区二区| 久久精品一区四区| 五月婷婷综合激情| 成人免费视频视频| 在线电影院国产精品| 国产精品国产三级国产aⅴ原创| 蜜桃精品视频在线| 欧洲精品在线观看| 亚洲国产精品99久久久久久久久| 亚洲不卡一区二区三区| 成人av网站在线| 欧美不卡一区二区| 亚洲mv在线观看| av中文字幕不卡| 久久久综合视频| 日韩电影在线免费看| 日本电影亚洲天堂一区| 国产蜜臀97一区二区三区| 秋霞电影网一区二区| 在线观看日韩高清av| 国产精品美女久久久久aⅴ国产馆| 免费看黄色91| 欧美丝袜丝nylons| 亚洲视频在线观看三级| 国产麻豆成人精品| 欧美一级xxx| 亚洲成人三级小说| 日本韩国欧美在线| 中文字幕色av一区二区三区| 国产成人在线视频网站| 日韩欧美一区在线| 日韩精品电影一区亚洲| 在线免费观看日本欧美| 亚洲欧洲99久久| 成人午夜视频在线观看| 久久色.com| 久久99热99| 日韩欧美成人激情| 蜜桃久久久久久久| 日韩精品一区二区三区蜜臀| 男人的天堂久久精品| 日韩午夜在线影院| 蜜臀av在线播放一区二区三区| 欧美精品vⅰdeose4hd| 亚洲电影一区二区三区| 欧美午夜精品一区二区三区| 亚洲午夜免费视频| 欧美在线影院一区二区| 一区二区三区欧美| 欧美日韩中字一区| 亚洲一二三区在线观看| 欧美在线不卡视频| 视频一区二区中文字幕| 91精品综合久久久久久| 男女男精品网站| 久久一区二区三区国产精品| 成人午夜电影久久影院| 国产精品女主播av| 91极品美女在线| 婷婷中文字幕一区三区| 91精品国产一区二区三区蜜臀| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美大肚乱孕交hd孕妇| 国产精品1区2区3区在线观看| 国产欧美精品国产国产专区| 狠狠色狠狠色综合日日91app| 狠狠v欧美v日韩v亚洲ⅴ| 一区二区三区在线视频免费| 在线观看成人小视频| 天堂成人免费av电影一区| 日韩网站在线看片你懂的| 国产精品亚洲第一| 亚洲精选视频在线| 4438成人网| 国产麻豆一精品一av一免费| 亚洲欧美一区二区在线观看| 欧美日韩精品一区二区天天拍小说| 日韩电影在线一区二区| 中文字幕不卡在线| 欧美视频你懂的| 国产美女av一区二区三区| 亚洲摸摸操操av| 日韩精品一区二区三区视频 | 亚洲成人在线网站| 欧美v日韩v国产v| 99久久婷婷国产综合精品| 午夜精品久久久久影视| 久久久久久97三级| 色婷婷av久久久久久久| 久久精品国产精品亚洲红杏| 最好看的中文字幕久久| 日韩一区二区免费电影| aaa欧美大片| 美日韩一区二区三区| 亚洲美女视频在线| 精品播放一区二区| 在线视频一区二区三区| 经典三级视频一区| 亚洲国产综合色| 国产精品久久久久久久蜜臀 | 日韩欧美一级在线播放| 99热精品一区二区| 麻豆成人在线观看| 夜夜揉揉日日人人青青一国产精品| 精品人在线二区三区| 欧美午夜精品电影| 成人精品国产一区二区4080| 热久久免费视频| 亚洲精品欧美激情|