[ݳXȲέp


[求]推薦入門時鐘ic

非8051系列的單晶片軟硬體請在此區討論(CPU介面周邊,或MICRO CHIP等....)

版主: charlesliao

Re: [求]推薦入門時鐘ic

文章andy50223 發表於 週日 2月 16, 2014 3:26 pm

不知道是不是因為點矩陣資料(紅 綠燈控制)的部分是用串列傳輸而程式碼的部分寫的比較長
需要更快的速度跑每一個中斷
我也有嘗試過中斷能不能以更低頻率下去跑
但似乎沒辦法
如果以低一點的頻率跑的話矩陣會明顯的看出掃描的現象
所以最後才選擇了16個計數就中斷一次的決定

xaudio 寫:寫程式的功力還不錯嘛! :D
時間誤差太大了,正常情況一天頂多幾秒而已,我想可能的原因有兩個。

最可能的還是 timer / counter 設定不正確,多檢查幾次。(每個人都有腦筋不清楚的時候)

其次是受雜訊影響,振盪電路相當敏感,佈線很重要。
電路板是自己 layout 的還是萬用板 (手工搭棚)?
手工搭棚比較容易出問題,整理一下電線,看看 bypass 電容位置是否合適。



什麼是 bypass 電容 :?
我看了一下之後發現timer中斷的基本設定應該是沒問題的
只是有一個疑惑
中斷觸發的時間是在0xFFFF ->0X0000 的這個瞬間
而我寫的計數開始為0xFFF0所以計算到0X0000發生中斷的計數為16
所以相對計算的頻率為2048Hz
這樣的觀念正確嗎?
而會造成秒數幾數不正常是不是因為中斷頻率高的關西
造成無法有準確的頻率呢?

謝謝
andy50223
 
文章: 98
註冊時間: 週三 12月 08, 2010 7:38 pm
來自: Taichung,Taiwan

Re: [求]推薦入門時鐘ic

文章xaudio 發表於 週日 2月 16, 2014 4:35 pm

這要從 PCB layout 說起了!
跨在電源和地線之間的 C3、C6 就是 bypass 電容 (旁路),依我看數量是不夠的。
LED 矩陣瞬間電流變化極大,產生的雜訊也非常可觀。
你找一台 AM 收音機試試看,靠近一點說不定會聽到 MCU 的廣播。(數位之聲? :shock: )
除了 bypass 需加強,大電流通過的 VCC、GND 要粗、短,並僅可能減少迴路面積。

中斷 2048Hz 確定有錯,不必每秒掃 128 次,想想看。
先改成 32FPS (512Hz),感覺到閃爍再試 48FPS、64FPS。
xaudio
 
文章: 1774
註冊時間: 週六 12月 11, 2010 1:51 am

Re: [求]推薦入門時鐘ic

文章andy50223 發表於 週日 2月 16, 2014 6:50 pm

:shock: 原來數位電路的PCB Layout也是有學問的
一直以為只要線接到的就好 :lol:
原來這觀念錯了這麼久
因為板以已經刻好了最近回到學校要回到公司用到雕刻機有點困難
那這樣我的 bypass 電容是不是可以直接焊在每顆IC的焊接面上?0.1uF?
另外還有一個疑問
石英晶體的震盪電容會影響其震盪頻率嗎?
我現在PIC的石英晶體Y1是裝20MHz 配33p*2
外掛的石英晶體X2是32.768KHz也是配33p*2

中斷有再嘗試過了
最穩不會感覺有震動會閃爍的FPS也要102 :(
我也對過timer中斷控制的暫存器了也沒問題
不知道Xaudio前輩能不能幫我看一下幾段重要的程式碼部分><
可能真的腦袋當機了
我也有在猜想會不會是因為bypass電容的關西所以送到MBI5026跟74HC238的頻率受到影響所以才需要這麼高的頻率呢?
andy50223
 
文章: 98
註冊時間: 週三 12月 08, 2010 7:38 pm
來自: Taichung,Taiwan

Re: [求]推薦入門時鐘ic

文章xaudio 發表於 週日 2月 16, 2014 9:41 pm

雜訊問題僅止於我的疑慮而已,不必太緊張!
先用示波器看每顆 IC 的 VCC 漣波多大,真的不行再想辦法。
頂多補幾個 0.1uF,VCC、GND 加強一下,板子不需要重做。

關於振盪電路我也是鴉鴉烏,只知道電容值範圍有限,C1 不一定等於 C2。

為什麼需要 102FPS 百思不解,32FPS 應該夠快了,難道你天賦異稟?
程式碼自己踹好了,別害我跟著一起當機。 :lol:

Interlace 不知道有沒有幫助,可以試試看。
xaudio
 
文章: 1774
註冊時間: 週六 12月 11, 2010 1:51 am

Re: [求]推薦入門時鐘ic

文章andy50223 發表於 週二 2月 18, 2014 12:03 am

報告Xaudio前輩
矩陣掃描已搞定只是相較之前因為掃秒速度低所以亮度不高 :shock:
現在可以用256Hz下去跑了 :D
只是在秒數計數的部分還是會有誤差
今天跟學校老師借了一下示波器看了一下輸出頻率
大概只有254Hz
每秒誤差大約0.02sec
會因為我在中斷中做的事情太多所以造成她要執行下次中斷的時間被延後造成誤差嗎??
謝謝
andy50223
 
文章: 98
註冊時間: 週三 12月 08, 2010 7:38 pm
來自: Taichung,Taiwan

Re: [求]推薦入門時鐘ic

文章xaudio 發表於 週二 2月 18, 2014 12:43 pm

雖然不懂你是怎麼解決的,恭喜啦!

根據 datasheet,33pF x 2 似乎沒問題。
時間誤差還是過大,除非程式碼真的太爛,請參考別人的解釋:
https://www.ccsinfo.com/forum/viewtopic.php?t=48509
中斷程式也順便檢討,作一些最佳化,反應越快越好。

現在 delay loop 不是全都不見了嗎?CPU 閒得發慌,找些事情給它吧!
感覺你的程度很 OK,要不要升級一下腦袋,改成多核心呢? :lol:
ftp://ftp.buici.com/pub/protothreads/Protothreads.pdf

裡面用通信傳輸說明,介紹三種方法,不會很難了解。
Multithreading 門檻太高,先暫時別管它。
Finite state machine 和 Protothreads 適合 MCU,程式碼增加有限。
xaudio
 
文章: 1774
註冊時間: 週六 12月 11, 2010 1:51 am

上一頁

回到 其他類單晶片--相關的軟硬體討論區

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 3 位訪客