網(wǎng)上有很多關(guān)于手機(jī)有望變身掌上pos機(jī),感光法做掌上數(shù)字收音機(jī)——彩屏+stm8+si4730的知識,也有很多人為大家解答關(guān)于手機(jī)有望變身掌上pos機(jī)的問題,今天pos機(jī)之家(m.afbey.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!
本文目錄一覽:
手機(jī)有望變身掌上pos機(jī)
事情的起源是首先得感謝壇友 @cushion 給的大榴蓮包裹。
大榴蓮其中有的五菱車機(jī),拆開后發(fā)現(xiàn)一枚數(shù)字收音機(jī)芯片
silicon labs(芯科)家的Si4730-D60芯片
這顆芯片支持AM(520–1710 kHz)和FM(64–108 MHz)。看到他想玩的主要原因就是這貨外圍極其簡單;
天線部分沒有復(fù)雜的濾波等等電路,天線過來,一顆電容就能進(jìn)芯片;
型號加入芯片以后先過LNA(低噪放)和AGC(自動增益控制,用于控制低噪放的增益)放大信號,然后過AFC(自動頻率控制)、VOC(壓控振蕩器)和混頻器,濾波,接著就直接進(jìn)ADC(將信號進(jìn)行數(shù)字化)了,剩下的就是DSP(數(shù)字信號處理)的事情。處理后輸出的信號接DAC和低通濾波器就可以輸出廣播音樂了~~當(dāng)然這一堆都是在芯片內(nèi)部一片集成實現(xiàn)的 ,實際使用起來就是單片機(jī)配置芯片的寄存器,然后聽廣播就行。這也是數(shù)字技術(shù)給帶來的便利
而且據(jù)說數(shù)字收音機(jī)效果蠻好的,以前沒玩過,就像玩玩看看。
原裝車機(jī)板子上這這貨外圍相當(dāng)簡單
拉近了看型號4730D60
拆掉芯片分別跑線路
結(jié)果發(fā)現(xiàn)沒啥線路
畫原理圖。這次的東西有點多,看著復(fù)雜
收音機(jī)芯片和音頻輸出部分的低通濾波還有耳放
左邊是用74hc595驅(qū)動彩屏(因為stm8引腳不夠用)
右邊是耳機(jī)插座
畫好PCB
考慮綜合屏幕和鋰電池占用的地方。設(shè)計的板子大小是42mm*36mm
因為東西緊湊,好多線都是沒走通的。整個板子需要飛線12根,恐怖吧?
圖上白色虛線就是沒走通的線
打印出來看看效果不賴
感光
腐蝕。因為中間有事突然出去了一下,回來發(fā)現(xiàn)腐蝕過頭了
大概斷了7-8根線。再做一次又嫌麻煩。只好硬著頭皮繼續(xù)。這次要飛20+根線了
準(zhǔn)備器材元件開工
左到右 耳機(jī)座 pos電池 96*96小彩屏 74hc595 si4730 stm8 開關(guān)按鈕
什么的綠色板子上是在某論壇商家買電子垃圾的時候順手帶的幾片的廢板,整個耳放電路元件全部拆自這板
先焊單片機(jī)stm8和595
放大了圖來看,一堆飛線。還好大部分都是從芯片肚子下面過,不怎么太影響美觀
點亮屏幕,一次成功。有了繼續(xù)做下去的動力。講道理當(dāng)時寫好屏幕驅(qū)動程序下載前就在想。要是gg了,就去打PCB,不玩這破板了
還好這貨蠻給面子的
焊接收音機(jī)和耳放部分電路
除了調(diào)試IIC費了點時間(硬件IIC弄了兩個小時還是搞不定。一氣之下?lián)Q了軟件IIC)
后面的部分也是一次成功。插上耳機(jī)就有清晰的廣播了
調(diào)試狀態(tài)的各種亂七八糟,飛線橫行
開始折騰界面
這是開機(jī)界面
在開機(jī)界面,輸出音量會漸漸增大
這是一開始的臺頻率顯示界面
吧整個電路焊接完
剩下的東西主要是電源管理部分
圖上正在測試 給懷孕的pos電池充電。成功吧電池給從懷孕充到漏液
還沒洗板的樣子
這張能看清芯片mark
為了看起來不空 界面上增加兩條信息
SNR是信噪比
RSSI是接收的信號強(qiáng)度
完成裝配,屏幕翻貼到背面
后來換了個電池,綠色那個線太硬,不貼板
然后用熱熔膠簡單加固個部分
現(xiàn)在顯示的是低電量,電池變紅(低于3.3V將強(qiáng)制關(guān)機(jī))
正常電量
充電中
充電滿不滿主要還是得看背面的提示燈。畢竟沒弄復(fù)雜的電量算法
充電電流設(shè)定40-50ma。LTC4054充電芯片 電流設(shè)定腳用20K
程序方面
前前后后寫了一兩個星期、
全寄存器實現(xiàn),這次只有非常少量的匯編,99.9%都是C
寫了一堆子功能
最佳優(yōu)化編譯后主程序大小5670+1952=7622=7.5K
差不多塊吧8k空間占滿了。主要是字庫占用空間比較多,用了1.7k的樣子
后期如果要加功能,就只能吧部分字庫移動到EEPROM里面,最多還能騰出1K左右的空間
配置頭文件負(fù)責(zé)配置整體的功能
刷屏部分用了部分匯編+硬件SPI來實現(xiàn)。目的是為了減小拉窗簾的效應(yīng)
刷屏部分還有個更極端的方法是不等待spi的狀態(tài)位,靠精確延時來實現(xiàn)最緊密的時序。不過這個方法雖然快但是不太穩(wěn)定。
主要問題是stm8流水線不對齊取值延時的問題造成的,造成的結(jié)果就是一次編譯能對,下一次加了一堆程序后,這段代碼位置發(fā)送了變化,屏幕顯示又不對了。所以最終沒采用這個方法。
刷屏效果測試。spi速度均為8M;如果用保守方法實現(xiàn),刷一個任意顏色全屏需要30+ms,如果用激進(jìn)方法實現(xiàn),只需要18-19ms。50hz多的刷新速度,應(yīng)該是看不到拉窗簾了~~
按鍵操作方法:
上鍵負(fù)責(zé)調(diào)臺(頻率增加和音量增加),下鍵負(fù)責(zé)調(diào)臺(頻率減小和音量減?。?/p>
中間短按切換是調(diào)音量還是頻率。
調(diào)臺使用自動搜臺方法,臺頻率調(diào)到頭又會折頭到另外一頭
功耗與休眠:
首先來說,收音機(jī)芯片不省電(而且市面上常見幾款的收音機(jī)芯片,工作電流也在16-28ma之間,所以都差不多)
自身工作功耗20ma
正常運行的時候(亮屏顯示)
電流消耗32-36ma左右,隨音量高低有不同
耗電大致推算分析(部分來自手冊,未實際測量;部分實測)
si4730---------------------------------20ma
stm8(全速運行16m)-------------4ma
耳放靜態(tài)功耗-------------------------2ma
屏幕背光-------------------------------2ma
屏幕、595、其他亂七八糟-----約1ma
放音-------------------------------約4-8ma
所以設(shè)定了屏幕亮5秒自動熄滅,同時mcu加入活躍停機(jī)狀態(tài),可以用按鍵喚醒按鍵喚醒后5s無操作再次休眠
休眠電流24-27ma。100mah的pos電池差不多能聽4個小時
電量低于3.3V 關(guān)閉所有東西,同時mcu加入停機(jī)狀態(tài),可以通過插入充電喚醒
后期希望加入的功能:收藏電臺頻率。不過難度不小,程序空間相當(dāng)緊張
謝謝觀看
相關(guān)資料需至原帖中獲?。?/strong>http://bbs.mydigit.cn/read.php?tid=2268429
附件包括:程序源代碼、pcb和原理圖(使用Altium Designer14)、幾段錄音效果
百度云盤:提供pcb和原理圖(使用Altium Designer14)、幾段錄音效果、切換臺的小視頻
注意:PCB僅供參考,如果要制作成品PCB,強(qiáng)烈建議重新畫板。雙面板走線肯定是不需要飛線的,而且能得到更好的布局規(guī)劃
最后:不出套件、沒有繪制成品pcb的計劃
瀏覽更多精彩內(nèi)容請登錄數(shù)碼之家網(wǎng)站
技術(shù)交流請聯(lián)系原作者
作者:2545889167
本文來源:數(shù)碼之家
以上就是關(guān)于手機(jī)有望變身掌上pos機(jī),感光法做掌上數(shù)字收音機(jī)——彩屏+stm8+si4730的知識,后面我們會繼續(xù)為大家整理關(guān)于手機(jī)有望變身掌上pos機(jī)的知識,希望能夠幫助到大家!
