《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于Android的MT8880芯片的設計與實現
基于Android的MT8880芯片的設計與實現
2016年微型機與應用第21期
文波,周淵平
四川大學 電子信息學院,四川 成都 610065
摘要: Android是一種基于Linux的開源操作系統,它具有十分豐富的應用。文章提出了將搭載有Android系統的主板TQ210和雙音多頻撥號芯片MT8880通過主板上的攝像頭B接口連接起來,設計一個可以在Android系統上接聽和撥打有線電話的應用,然后在 Linux 內核中編寫驅動程序,并在 HAL層和JNI層中生成動態庫文件,實現在Android平臺上通過有線接聽和撥打電話的功能。經過測試,該設計方案能成功接聽和撥打電話。
Abstract:
Key words :

  文波,周淵平

 ?。ㄋ拇ù髮W 電子信息學院,四川 成都 610065)

       摘要:Android是一種基于Linux的開源操作系統,它具有十分豐富的應用。文章提出了將搭載有Android系統的主板TQ210和雙音多頻撥號芯片MT8880通過主板上的攝像頭B接口連接起來,設計一個可以在Android系統上接聽和撥打有線電話的應用,然后在 Linux 內核中編寫驅動程序,并在 HAL層和JNI層中生成動態庫文件,實現在Android平臺上通過有線接聽和撥打電話的功能。經過測試,該設計方案能成功接聽和撥打電話。

  關鍵詞:Android; 有線電話; MT8880; HAL; JNI

0引言

  隨著移動通信技術的發展,移動通信經歷了從第一代到第四代的飛速發展,目前,5G通信已經進入測試階段。然而移動通信的每一次改變,通信頻率幾乎是成倍增加,使得每一個基站的信號覆蓋率會越來越小,這樣就會要求建立更多的基站,但是在城市里,居民不可能同意在自己的小區及小區附近建立基站,所以可以大膽預測,當5G通信到來時,室內的信號將會比較弱,手機通話質量會大大降低,這樣使得輻射也會大大增加,通話穩定性將會顯著降低。所以本文提出了一種在搭載有Android4.0系統的主板TQ210上撥打有線電話的方法,既可以克服手機在室內信號差的不足,又可以在主板上完成手機所具有的所有功能,這樣在室內就可以完全不用手機。

1硬件系統設計

  1.1硬件框架

  硬件系統由主板TQ210與MT8880模塊及其外圍電路構成,如圖1所示。主板TQ210采用了三星公司推出的S5pv210微處理器[1],從圖1中可以看出主板TQ210的外圍電路十分齊全。只需要將TQ210開發板的GPIO接口與MT8880模塊連接起來,就可以實現在搭載有Android系統的主板上接聽和撥打電話的功能。

圖像 001.png

  1.2MT8880模塊簡介

  MT8880收發芯片是具有微處理器接口的、功能較豐富的雙音多頻(DTMF)芯片。它的發送部分采用行列計數器及頻率穩定性較高的D/A轉換器,可以發出16種雙音多頻DTMF信號;接收部分能接收16個DTMF信號,并把DTMF信號分離及解碼,以4位并行二進制方式輸出[2]。MT8880芯片的功耗非常低,集成度相當高且定時準確,可以調整雙音頻模式的占空比,能自動抑制撥號音和調整信號增益,還帶有標準的數據總線,可以與TTL電平兼容,并可方便地進行編程控制[3]。

圖像 002.png

       1.2.1引腳排列與功能

  MT8880芯片引腳排列如圖2所示。該芯片有20個引腳,其中1腳為運放的同向輸入引腳;2腳為運放的反向輸入引腳;3腳為運放增益選擇端;4腳為基準電壓輸出端;5腳為電源地;6腳為DTMF時鐘/振蕩器輸入,采用3.579 545 MHz的時鐘信號;7腳為時鐘輸出引腳;8腳為輸出DTMF信號引腳;9腳為讀寫控制端;10腳為片選引腳;11腳為寄存器選擇引腳,當為低電平時,控制數據寄存器的讀寫,當為高電平時,控制狀態寄存器和控制寄存器的讀寫;12腳為系統時鐘輸入;13腳為中斷處理請求端;14~17腳為數據線,控制DTMF信號的發送和接收;18腳為滯后前輸出,當檢測到有效音頻時,就變為高電平,信號條件不足時又立刻返回低電平;19腳為滯后輸出/保護后輸出;20腳為電源正極,為該芯片提供所需電壓[4]。

圖像 009.png

  1.2.2信號音判斷原理

  信號音主要由撥號音、忙音及回鈴音組成,其中撥號音是連續脈沖信號,忙音和回鈴音的頻率相同,都在425 Hz~475 Hz,但它們通斷時間并不一樣,回鈴音在1 s時間為通,4 s時間為斷開,而忙音則是以0.7 s為一個周期,在一半的時間接通,一半的時間斷開。若要判斷信號音,應該在撥號后將MT8880芯片設置為呼叫處理模式,MT8880的呼叫處理濾波器是一個帶通濾波器,當信號輸入端有信號音輸入時,在IRQ/CP就輸出一高電平,此時電話呼叫過程中的各種信號音經MT8880濾波,限幅后得到方波,并由MT8880芯片的IRQ引腳輸出,判斷該引腳上的信號就知道為何種信號音。

  在本次編程中,撥完電話號碼后,就讓MT8880芯片工作在CP模式,并開啟中斷及定時器,采用下降沿觸發,計數時間為5 s,判斷步驟如下:

  (1)若計數值小于256則為撥號音,進入其他狀態并繼續檢測。若計數值還是小于256,則說明還是在通話中,一直檢測,直到計數值大于256后就掛斷電話,因為此時對方已經掛斷了電話。

  (2)如果計數值在1 024~1 791之間,則為忙音,直接掛斷電話。

  (3)若計數值在256~1 023,則為回鈴音,等待對方接聽,并繼續進入CP模式檢測。

  1.2.3MT8880模塊與主板連接原理

圖像 003.png

  由于TQ210主板上并沒有直接可用的GPIO口,經過查閱電路圖發現攝像頭接口CAMERA_B的引腳與GPIO口復用,它使用了GPJ0口的全部引腳和GPJ1口的部分引腳。若要將此接口作為GPIO口,只需要將原來配置的攝像頭驅動中對GPJ1、GPJ0引腳的初始化代碼去掉,然后在自己寫的驅動中對這些引腳初始化成所需的功能即可。圖3為MT8880模塊輸入輸出接口與開發板的GPIO接口對接圖,其中D0~D3為數據線,當打電話時,把這4個腳配置為輸出,當接電話時,把這4個腳配置為輸入,為以后做來電顯示做準備。具體每個腳的功能見表1。

2軟件設計

  Android系統的底層是Linux[5],所以所有的軟件設計都是在Ubuntu14.04系統上完成的,要使該芯片能夠正常工作,則必須要在Linux內核中編寫相應的驅動文件,在HAL層和JNI層生成動態庫文件以及在應用層編寫應用程序[6]。

  2.1MT8880驅動開發

  在/opt/EmbedSky/TQ210/Kernel_3.0.8_TQ210_for_Linux_v1.4/drivers/char目錄下新建一個tq210_mt8880.c,然后在tq210_mt8880.c文件里編寫好程序后并保存,修改該目錄下的Kconfig文件,在終端執行命令make menuconfig時可以看到剛剛新增的配置選項,最后修改該目錄下的Makefile文件,然后在make menuconfig中選擇剛才加上的菜單,重新編譯內核,如果成功,則內核就已經包含了最新加進去的MT8880驅動了。

  2.2HAL層開發

  硬件抽象層(Hardware Abstraction Layer,HAL)是建立在Linux驅動之上的一套動態庫。這套動態庫是屬于Linux內核層之上的系統運行庫層[7]。

  Android系統的HAL層是為了避開Linux的GPL束縛,保護一些硬件供應商的知識產權而提出的,HAL層用于控制硬件的動作,而Linux 驅動程序僅僅完成一些簡單的數據交互作用,甚至把硬件寄存器空間直接映射到user space[8]。目前HAL存在兩種架構,位于libhardware_legacy目錄下的“舊HAL架構”和位于hardware的libhardware目錄下的“新HAL架構”。主板TQ210采用了“新HAL架構”。新HAL架構如圖4所示。

圖像 004.png

  編寫HAL層代碼步驟如下:

  (1)首先在TQ210_Android_4.0.4_V1.4/hardware/Libhardward/include下創建MT8880.h頭文件,編寫頭文件源碼并保存。

  (2)然后在/opt/EmbedSky/TQ210/TQ210_Android_4.0.4_V1.4/device/embedsky/tq210目錄下創建libMT8880文件夾,在該文件夾中新建MT8880.c文件,在該文件里編寫源碼,然后保存該文件,最后在該文件夾下創建Android.mk文件并編寫該文件的源碼,然后保存該文件。

  (3)最后在終端輸入相關命令進行編譯,將在目錄下生成的MT8880.tq210.so文件復制到主板上的system/lib/hw目錄下,當然也可以放在其他目錄下。

  2.3JNI層開發

  JNI的全稱為Java Native Interface,它是Java平臺的一部分,并允許Java代碼與其他語言寫的代碼進行交互,使得在JVM(Java虛擬機)內部運行的Java字節碼能夠與其他語言(比如C、C++等)進行交互操作[9],圖5為JNI層在Android中的位置關系圖。

圖像 005.png

  在/opt/EmbedSky/TQ210/TQ210_Android_4.0.4_V1.4/packages/apps中創建MT8880文件夾,用來存放jni源碼,在該文件夾中新建文件MT8880Service.cpp,編寫源碼并保存,這里需要注意的是函數的前置Java_com_embedsky_MT8880_MT8880Activity_決定了創建應用程序使用的包名。其次創建Android.mk文件,編寫源碼并保存。最后在終端輸入相關命令進行編譯,將生成的libMT8880.so文件復制到主板對應的目錄中[10]。

3測試及結果

  在本次測試中,將TQ210開發板(搭載Android4.0系統)與MT8880模塊及其外圍電路通過開發板上的CAMERA_B接口連接起來,并把電話線接到MT8880上的RJ11接口上,然后打開開發板上的通訊錄APP,點擊按鈕進行撥號。經過測試,該裝置能順利撥通要打的電話,并且語音質量良好,測試結果如圖6~圖8所示。

圖像 006.png

圖像 007.png

圖像 008.png

4結論

  本文實現了在Android系統上通過MT8880芯片撥打和接聽有線電話的功能,并且該方案既有抗干擾能力強、輻射小、保密性強的通信特點,又具有Android平臺的所有特性。如果將手機上的通訊信息同步到該系統上,然后直接在該系統上撥出要打的電話號碼,即可完全實現無線與有線的融合,把兩者的優點結合起來,這樣該設計方案將更加完美。

  參考文獻

  [1] 廣州天嵌計算機科技有限公司.TQ210用戶硬件手冊[Z].2012.

 ?。?] 李傳南,王劍剛,李寶華.單片機與DTMF信號收發芯片MT8880的直接接口設計[J].電子與自動化,1999(2):23-24.

  [3] 張立臣.DTMF信號收、發芯片MT8888原理及應用[J].國外電子元器件,2001(9):30-31.

 ?。?] 董守田,徐風文.DTMF收發芯片MT8888的應用[J].農機化研究,2003(2):216-217.

 ?。?] 宋寶華.Linux設備驅動開發詳解(第二版)[M].北京:人民郵電出版社,2013.

 ?。?] 李剛.瘋狂Android講義[M].北京:電子工業出版社,2015.

 ?。?] 李寧. Android開發權威指南[M]. 北京:人民郵電出版社,2011.

 ?。?] 韋德瓊.基于Android系統的驅動模塊的設計和實現[D].哈爾濱:哈爾濱工業大學,2012.

 ?。?] 施月玲,宣凱,張海平,等.JNI技術在Android平臺融合通信終端的應用[J].杭州電子科技大學學報(自然科學版),2015,28(2):41-44.

 ?。?0] 杜江,周淵平.基于Android的電話撥號功能[J].計算機系統應用,2014,23(12):245-248.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产在线观看91精品一区| 夜夜嗨av一区二区三区网页| 欧美日韩一卡| 欧美日韩 国产精品| 一区二区日韩免费看| 国产日韩精品一区二区| 久久这里只有精品视频首页| 欧美激情第1页| 久久国产一区二区三区| 激情成人在线视频| 久久频这里精品99香蕉| 欧美久久久久久久| 欧美午夜不卡在线观看免费| 日韩一区二区免费看| 久久综合狠狠综合久久综合88| 久久爱www久久做| 99re6这里只有精品| 欧美成年视频| 亚洲影院色无极综合| 韩日午夜在线资源一区二区| 99国产精品久久久久久久| 国产主播精品| 亚洲国产成人porn| 欧美精品久久久久a| 欧美日韩专区| 一区在线视频观看| 国模套图日韩精品一区二区| 欧美日韩亚洲一区二区三区在线观看| 蜜月aⅴ免费一区二区三区| 久久精品30| 国产精品毛片a∨一区二区三区| 一本色道久久综合狠狠躁的推荐| 久久久精品国产免大香伊| 91久久夜色精品国产九色| 一二三四社区欧美黄| 久久国产天堂福利天堂| 99国产精品久久久久久久久久| 欧美大片专区| 亚洲高清久久久| 久久久久国产精品一区二区| 夜夜爽av福利精品导航| 欧美日韩精品免费观看视频| 欧美日韩国产综合久久| 一本综合精品| 免费视频一区二区三区在线观看| 国产精品久久久久久户外露出| 好看的av在线不卡观看| 欧美精品一区二区三| 欧美在线影院| 国产深夜精品福利| 99在线精品免费视频九九视| 国产美女在线精品免费观看| 欧美日韩极品在线观看一区| 欧美一区二区三区视频| 亚洲视频成人| 欧美激情二区三区| 国内精品**久久毛片app| 久久综合久久综合九色| 欧美影院成年免费版| 亚洲欧洲日夜超级视频| 国产欧美在线播放| 中文国产成人精品久久一| 国产欧美精品国产国产专区| 久久人人看视频| 亚洲电影免费观看高清| 国产一区二区三区成人欧美日韩在线观看| 久久精品视频亚洲| 国产伦精品一区二区三区四区免费| 亚洲精品黄网在线观看| 裸体素人女欧美日韩| 亚洲视频日本| 久久综合九色九九| 欧美色视频在线| 亚洲成人在线观看视频| 欧美日韩理论| 欧美专区中文字幕| 国产精品视频免费一区| 午夜一区二区三区不卡视频| 日韩视频免费大全中文字幕| 欧美日韩大片一区二区三区| 亚洲一二三级电影| 国产美女在线精品免费观看| 欧美一区二区在线看| 久久婷婷麻豆| 欧美亚洲在线| 亚洲国产欧美日韩| 亚洲国产欧美国产综合一区| 亚洲美女在线一区| 久久福利电影| 久久久噜噜噜久噜久久| 亚洲一区自拍| 午夜视频久久久| 欧美一区1区三区3区公司| 香蕉国产精品偷在线观看不卡| 亚洲人成在线播放| 国模私拍一区二区三区| 亚洲毛片一区| 在线观看一区二区视频| 久久久久久久999精品视频| 亚洲曰本av电影| 亚洲作爱视频| 久久久久久尹人网香蕉| 久久香蕉国产线看观看网| 国产精品免费区二区三区观看| 在线亚洲精品福利网址导航| 国产精品午夜在线观看| 亚洲欧洲日本在线| 久久精品成人一区二区三区蜜臀| 国产综合精品一区| 99精品国产福利在线观看免费| 蜜臀av性久久久久蜜臀aⅴ| 亚洲视频电影图片偷拍一区| 一区二区三区四区五区精品视频| 最新亚洲视频| 免费一级欧美片在线观看| 欧美专区福利在线| 欧美电影在线观看| 久久久久www| 亚洲日本欧美日韩高观看| 韩国视频理论视频久久| 一区二区三区高清视频在线观看| 久久夜色撩人精品| 亚洲欧美日本精品| 葵司免费一区二区三区四区五区| 欧美一区午夜视频在线观看| 国产精品一区二区黑丝| 国产婷婷97碰碰久久人人蜜臀| 欧美丰满高潮xxxx喷水动漫| 欧美精品成人一区二区在线观看| 欧美黄免费看| 欧美精品久久久久久久久老牛影院| 伊人成年综合电影网| 欧美久色视频| 9色精品在线| 国产精品天美传媒入口| 国产精品美女久久| 欧美日韩午夜剧场| 99精品欧美一区二区三区| 国产精品女同互慰在线看| 国产精品久久久久国产a级| 国产精品免费久久久久久| 国产麻豆精品久久一二三| 国产精品综合不卡av| 午夜精品在线看| 亚洲一区二区精品在线| 欧美日韩一区二| 欧美中文字幕视频在线观看| 91久久久精品| 欧美系列一区| 欧美国产日韩精品免费观看| 亚洲国产另类久久久精品极度| 一区二区欧美国产| 欧美日韩高清在线观看| 国产自产精品| 国产区欧美区日韩区| 中国亚洲黄色| 欧美成人午夜| 国产美女扒开尿口久久久| 久久一区二区三区四区五区| 欧美日韩国产不卡| 亚洲男人影院| 欧美三级在线播放| 影音先锋亚洲一区| 亚洲天天影视| 在线观看一区二区视频| 一本综合久久| 国产欧美欧美| 欧美四级剧情无删版影片| 狠狠色狠狠色综合人人| 亚洲另类一区二区| 91久久精品国产91性色| 激情欧美一区二区三区| 午夜伦欧美伦电影理论片| 国内精品伊人久久久久av影院| 午夜精品国产更新| 国产乱码精品一区二区三区av| 国产精品二区二区三区| 激情五月综合色婷婷一区二区| 久久精品国产第一区二区三区| 欧美性一区二区| 亚洲欧美激情视频| 久久亚洲欧洲| 欧美精品999| 久久精品国产免费看久久精品| 欧美日韩大陆在线| 国产精品你懂的在线| 国产精品稀缺呦系列在线| 99精品视频免费全部在线| 国产精品一区2区| 久久久久久国产精品一区| 国产精品白丝黑袜喷水久久久| 亚洲少妇一区| 亚洲久久在线| 欧美激情 亚洲a∨综合| 国产亚洲一区二区在线观看| 亚洲一区二区三区四区五区午夜| 久久精品五月婷婷| 欧美电影在线播放| 国产日韩欧美三级| 亚洲视频久久| 亚洲天堂av高清| 欧美三级电影大全| 国产精品日本欧美一区二区三区| 亚洲另类在线视频| 欧美国产丝袜视频| 亚洲国产婷婷香蕉久久久久久99| 免费一级欧美片在线播放| 欧美日韩综合视频网址| 一区二区在线不卡| 国产精品第十页| 欧美日韩中文字幕综合视频| 亚洲调教视频在线观看| 欧美激情2020午夜免费观看| 一区二区在线观看av| 欧美日韩的一区二区| 欧美日韩p片| 激情久久一区| 亚洲欧美视频在线观看| 国产揄拍国内精品对白| 亚洲大片精品永久免费| 一本一本久久a久久精品牛牛影视| 欧美精品一区视频| 亚洲欧洲99久久| 亚洲欧美日本另类| 日韩视频在线一区| 一区精品在线播放| 国产精品极品美女粉嫩高清在线| av成人手机在线| 免费成人小视频| 国产欧美日韩另类一区| 久久亚洲春色中文字幕| 久久久久国产精品厨房| 欧美久久在线| 久久综合久久综合久久| 精品91久久久久| 亚洲精选成人| 亚洲精品国产视频| 亚洲精选在线观看| 欧美高清视频一区二区三区在线观看| 欧美日韩国产综合视频在线| 亚洲欧美日韩在线| 欧美高清视频在线播放| 午夜精品久久久久久久久| 牛牛精品成人免费视频| 中文在线一区| 国内精品伊人久久久久av一坑| 国产美女精品在线| 国产精品美女久久久免费| 玖玖综合伊人| 欧美一区二区三区久久精品| 韩国精品一区二区三区| 久久久久久久性| 亚洲欧美电影在线观看| 韩日欧美一区二区| 欧美日韩午夜| 性18欧美另类| 国产亚洲人成网站在线观看| 老司机67194精品线观看| 亚洲国产另类久久久精品极度| 免费国产自线拍一欧美视频| 亚洲巨乳在线| 日韩视频永久免费观看| 午夜在线观看欧美| 美女视频一区免费观看| 国产精品免费观看在线| 欧美黄色一区| 亚洲午夜影视影院在线观看| 欧美夫妇交换俱乐部在线观看| 国产精品毛片a∨一区二区三区| **网站欧美大片在线观看| 久久综合伊人77777尤物| 精品1区2区3区4区| 一本色道久久综合亚洲91| 亚洲免费影院| 国内精品视频666| 欧美三区免费完整视频在线观看| 亚洲综合日韩中文字幕v在线| 国产欧美1区2区3区| 欧美一区二区私人影院日本| 欧美日韩亚洲成人| 亚洲午夜小视频| 久久一日本道色综合久久| 免费成年人欧美视频| 欧美性感一类影片在线播放| 亚洲专区一二三| 国产精品人成在线观看免费| 国产精品自拍三区| 麻豆精品在线观看| 一区二区三区视频在线播放| 久久精品国产亚洲一区二区三区| 亚洲精品一二三| 国产日韩欧美一区二区| 午夜国产不卡在线观看视频| 亚洲欧洲在线观看| 久久亚洲免费| 国产午夜精品视频| 亚洲激情成人网| 欧美成人午夜77777| 亚洲黄色高清| 国产一区二区主播在线| 国产午夜精品视频免费不卡69堂| 午夜精品久久久久久久白皮肤| 欧美一区二区三区另类| 亚洲人成亚洲人成在线观看图片| 嫩草成人www欧美| 久久免费高清视频| 亚洲精选一区二区| 亚洲无亚洲人成网站77777| 久久精品99无色码中文字幕| 欧美精品国产| 久久蜜桃av一区精品变态类天堂| 午夜精品久久久久久| 美女国内精品自产拍在线播放| 国产精品地址| 久久久久看片| 亚洲六月丁香色婷婷综合久久| 久久综合九九| 91久久精品美女高潮| 国产一区二区丝袜高跟鞋图片| 一区二区免费看| 亚洲宅男天堂在线观看无病毒| 亚洲国产成人精品女人久久久| 国产日韩欧美在线| 欧美日韩亚洲系列| 欧美日韩美女在线观看| 国产精品一区二区三区四区| 小黄鸭视频精品导航| 亚洲女ⅴideoshd黑人|