前不久接到乙個任務,要求用arduino做乙個小玩意,而且需要方便初學者製作pcb和焊接。作為乙個通訊人,我的腦海中閃現的第乙個東西就是帶dsp的收音機。在網上找了一下,國外有現成的模組
了,晶元方案是silicon labs的si4703,資料很齊全。後來又發現**上有其早期版本,除了電源針腳定義與最新版的不同,其它都一樣。就這麼愉快地做決定了。
功能特性:
si4703的arduino庫來自於github,然而用著不太符合自己的需求和習慣,最後還是改了不少地方。i2c時鐘頻率提高到了400khz(經測量,上公升時間符合要求),另外針對調諧和蒐台過程中i2c匯流排未保持靜默的問題進行了改進。
由於si4703模組只能工作在3.3v電壓條件下,而且其i/o口只能承受3.3v電平,所以整個系統統一使用3.3v電源供電。根據atmega328的手冊,3.3v供電時最高時鐘頻率不建議超過13.333mhz,然而為了相容arduino uno官方引導程式和庫函式,這裡超頻使用了atmega328,而不是使用低頻率晶體或是系統時鐘預分頻器。
本板基本引出了所有i/o。在向atmega328燒錄引導程式後可以通過ch340串列埠板向本板燒錄使用者程式。可以將ch340的dtr引出並連線到本板的tp29以免在燒錄程式時需手動復位本板。
這回用到的液晶是和上次
用的液晶預留的負壓發生電路同樣使用的是7660晶元,但是對比度調壓腳的連線方法不一樣。上次用的液晶的第三腳直接連到負壓發生電路的電阻分壓輸出端,可以外接電阻調壓。這回的連法
不宜通過外接電阻調節對比度(外接電阻調壓可達到調整對比度的效果,但會造成7660沒有接地,消耗電流會高達幾十毫安),需要懸空液晶第三腳,斷開j1,接通j2、j3,將負壓輸出端串接的0ω電阻改為7.5kω,液晶工作電流約4ma(其中背光電流2ma)。
外殼是3d列印的。考慮到pla的強度和外殼壁厚,安裝孔就不設計為沉頭孔了。給液晶做了個邊框,邊框與上蓋是用洗板水粘接的。
附件(原理圖、光繪檔案、源**、外殼圖紙)