Android开发板
由于公司要做智能自助設備,因此需要在Android開發板上開發,記錄一下經驗
一、Android開發板應用
Android開發板應用:
- 商業應用:機頂盒、廣告機,自助機,售賣機,多媒體教學,人臉識別,醫療,智能家居等
- 學習用途:Android與硬件之間的打交道(NDK開發)。某些開發板系統開源,這時候可以學習Framework層的開發,嘗試自己編譯系統,然后修改系統源碼,再打包系統安裝。(PS:學習用,可以買一些便宜點的開源系統的開發板)
二、開發時使用的開發板
1、開發時的Android開發板圖示
(1)正面圖:
(2)背面圖:
(3)大概的實物圖:
2、接口說明
(1)正面圖上接口
-
DC 12V-IN:DC(Direct Current)是指直流電,與之相反AC(Alternating Current)是交流電;IN是入的意思,DC 12V-IN 就是接12V的直流電源。
-
HDMI:高清多媒體接口(視頻和音頻),一般與老版視頻接口VGA、DVI、AV(差不多淘汰)比較。現在高清的視頻接口除了HDMI還有DP、eDP。HDMI接口也有3種類型,一種是標準的HDMI,一種是Mini HDMI(迷你型,比標準的HDMI接口要小點),一種是Micro HDMI(微型,最小的一種HDMI接口)。
-
EMAC:A寫錯了,實際是EMMC,插EMMC內存卡。
-
Audio output/MIC In:音頻輸出/耳麥插口。
-
TF:TF內存卡。
-
USB-Host:使用Host模式的USB接口。
-
USB-ID:USB-OTG接口的引腳,USB-OTG接口根據USB-ID腳使用的是主機模式或者從機模式。
-
USB-OTG:使用OTG模式的USB接口。
(2)正面圖右接口
-
MIC input:麥克風接口。
-
SPK:喇叭接口。
-
3個USB-Host:使用Host模式的USB接口。
-
2個UART接口:異步串行接口(串口)。
(3)正面圖左接口
-
DC 12V-IN + STB:電源+開關控制腳接口。
-
EDP接口:Embedded Display Port,連接觸摸屏或顯示器的的視頻信號接口。
-
LVDS-VCC:LVDS 電壓跳帽接口。
-
RTC:實時時鐘,一般會帶有紐扣電池,當主電源斷電或無法使用時,實時時鐘可利用備用電源來繼續計算時間。
-
LVDS-BL-VCC:LVDS 背光逆變器控制接口。
(4)正面圖下接口
-
LVDS:液晶顯示屏LVDS線接口,LVDS是低電壓差分信號,由于在2V低壓也能傳輸大量數據而低功耗,因此常用于手機/平板主板和手機/平板液晶屏的連接。
-
IR-INT:紅外遙控學習檢測功能接口,和LED+IR接口一對,都是紅外功能。
-
KEY:外接控制接口,用來控制系統恢復出廠設置、系統開機、復位。
-
UBOOT:UBOOT系統引導,主要用來刷機升級系統。
-
LED + IR:LED是LED背光燈,IR全稱infrared,是紅外線接口,外置接紅外接收器,如果是做機頂盒產品,需要接紅外接收器,和紅外遙控器交互。
-
PIR:人體紅外傳感器接口。
-
CTP:I2C CTP,I2C是同步串行總線,CTP是電容式觸摸屏,I2C CTP采用I2C的電容式觸摸屏接口。
-
GPIO 接口:General-Purpose Input /Output Ports,通用輸入/輸出端口的簡稱,用于電信號在電路中的輸入輸出,以方便控制電路部件。當微控制器或芯片組沒有足夠的I/O端口,或當系統需要采用遠端串行通信或控制時,GPIO產品能夠提供額外的控制和監視功能。
-
ANTENNA:antenna天線接口,主要是WIFI天線。
-
UART1-232/TTL CTS/RTS:串口。
(5)背面圖接口
-
SIM:手機電話卡。
-
MIPI:MIPI攝像頭接口。
-
3G/4G PCI-E:3G/4G網絡總線。
3、硬件規格
三、其它說明
1、 pin(PIN)
pin(PIN):接口針腳的意思,例如4pin,表示4個針腳的接頭;8pin,表示8個針腳的接頭。上面介紹的開發板多數是4pin的接口,少數是2pin和6pin的。
2、常見接口定義:
- GND:地線(Ground),接黑色的線
- RX:輸出(Receive ),一般是接綠色或者藍色的線
- TX:輸入(Transmit),接白色的線
- VCC +3.3V或者 +3.3V:電源3.3V輸出,接紅色的線
接法如圖下:
四、Android開發板開發主要使用的通信接口
Android開發板與外接硬件(如打印機、二維碼掃碼器、身份證讀卡器等)主要使用到串口和USB接口進行通信。
1、串口
(1)串口和并口的區別
- 并口:并行接口,指數據的各位同時進行傳送,是采用并行通信方式的擴展接口,特點是傳輸速度快,但當傳輸距離較遠、位數又多時,導致了通信線路復雜且成本提高;
- 串口:串行接口(電腦上簡稱COM),是指數據一位位地順序傳送,是采用串行通信方式的擴展接口,其特點是通信線路簡單,只要一對傳輸線就可以實現雙向通信,并可以利用電話線,從而大大降低了成本,特別適用于遠距離通信,但傳送速度較慢。
(2)串口劃分標準
- 同步串行接口:SynchronousSerialInterface,簡稱SSI,采用同步通信的串行接口(帶時鐘同步信號傳輸,通訊收發雙方是受同一個時鐘源控制)
- 異步串行接口:指通用異步收發器(Universal Asynchronous Receiver/Transmitter),簡稱UART,采用異步通訊(不帶時鐘同步信號,不是使用同一個時鐘源),UART是一個并行輸入成為串行輸出的芯片,通常集成在主板上。
(3)串口的類型:
串口按電平標準(電信號分類):TTL、RS-232、RS-485
- TTL:邏輯0對應0V,邏輯1對應3.3V或者5V,一般的電子設備用的多是TTL電平,因為能在第低壓下工作
- RS-232:邏輯0對應+3V–+15V,邏輯1對應-15V–5V
- RS-485:邏輯0對應-6V—2V,邏輯1對應+2V–+6V
2、USB接口
(1)USB接口
USB:通用串行總線(Universal Serial Bus),一個外部總線標準,新興的并逐漸取代其他接口標準的數據通信方式。
(2) USB和串口區別
- USB也是用串行方式通信,但是USB的通信時序和信號電平都和串口完全不同,因此USB不屬于串口。
- USB支持熱插拔,USB熱插拔不容易壞;串口通常不支持熱插拔,熱插拔容易壞,串口一般是斷電下插拔。
- 傳輸速度不同,USB3.1最高傳輸速度為10G bit/s(位/s),而串口最高為115200 bit/s,USB傳輸速度遠超串口。
- 串口成本比USB要低,不需要專門開發和安卓驅動,又省了軟件成本
- 串口抗干擾能力比USB強很多,在同等高頻干擾情況下,使用USB通訊的設備經常會死機卡住,但串口就不會。現在很多工業上還是會用COM口,就是這個原因
(3)USB設備
USB設備分為主機(HOST,主設備)和從機(SLAVE,從設備),可以理解為主人和隨從的意思,主機和從機通過連接成功后,主機就能調用從機定義的接口功能來傳輸和獲取數據,可以看成主人安排任務給隨從,隨從將任務結果報告給主人。
(4)USB接口的兩種模式:
- USB HOST接口:主機模式接口,如果Android主板的USB HOST接口插入鼠標設備,那么Android主板就是作為主機,鼠標作為從機(外設)。
- USB OTG接口:既可以作為主機,也可以作為從機(外設)的模式接口,比如當Android主板的OTG接口線插到電腦上時,此時電腦作為主機,Android主板作為從機(外設),用作電腦讀取Android主板的存儲空間;當Android主板的OTG接口插上了U盤時,那么此時Android主板看作是主機,U盤是從機(外設),Android主板讀取U盤的數據。有很多手機的充電接口(實際就是USB接口的一種)就支持OTG模式,既能連接電腦,也能接U盤。
五、Android開發板開發遇到的問題
1、瑞芯微RK3288 CPU在Android5.x系統上,插多個USB出現的問題。
-
問題:如果在Android主板上插多個USB,那么前面的USB就不能正常通信,最后插的USB接口才能正常通信;就是插多個USB接口,前面USB的UsbDevice對象獲取的UsbInterface都為空的,因此不能正常通信。
-
解決方法:這個問題其實就是系統的bug,當時花了一大段時間和主板廠商負責人說是系統的bug,可是他就是不相信是bug(越說越氣),直到出差到他們公司現場給升級系統到7.1才解決了問題。。
RK3288主板有點老了,如果還有人使用,有一樣的問題,可以看下下面連接:
https://blog.csdn.net/ansondroider/article/details/69949298
2、Android主板和發卡機設備進行通信(UART),在調用某個接口會崩潰。
-
問題:這其實是Android的兼容性問題,由于Android主板硬件設備盡不相同,因此很難做到兼容全部的。這個問題就是發卡機廠商給的.so庫和公司的開發板不兼容的問題,因此可以寄開發板給他們重新調試,發卡機廠商那邊說,為了兼容,已經弄了幾十個不同的.so項目,這個問題說明Android在兼容性的確是比較麻煩。
-
解決方法:寄開發板給設備廠商調試解決。
總結
以上是生活随笔為你收集整理的Android开发板的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lazada发货_lazada的物流发货
- 下一篇: Android11系统丨RK3568开发