Board logo

標題: 請教 CD4060 計數器 [打印本頁]

作者: kfyiu    時間: 2013-2-1 19:31     標題: 請教 CD4060 計數器

提示: 作者被禁止或刪除 內容自動屏蔽
作者: zlab    時間: 2013-2-1 20:21

本帖最後由 zlab 於 2013-2-1 20:38 編輯

回復 1# kfyiu
佢係二進制的除頻計數器,係適量脈衝數目通過時,相對針腳會有邏輯電位改變,可以直接用來除頻,也可組合數脚的輸出作特定除頻數值,例如除13,14,15…,不過由於IC本身冇除2,4,8等輸出,一係用其它方式獲取,一係輸入頻率高八倍.
cd4060.gif
可參考以下網站電路例子
http://www.coolcircuit.com/circuit/timer_4060/
好耐之前係商務見過有本CMOS COOKBOOK有晒所有CD4XXX系列IC腳位及範例電路介紹,而家都唔知仲有冇?

圖片附件: cd4060.gif (2013-2-1 20:21, 4.15 KB) / 下載次數 64
https://h2.hkepc.com/forum/attachment.php?aid=1488906&k=a12f5b7f05fce629ab0a24430c57eb1a&t=1781541840&sid=1aF8HaEi2e0


作者: gorto    時間: 2013-2-1 20:23

計數器即係同你數下有幾多次脈冲囉,學下睇 datasheet,有講解點用。
作者: kfyiu    時間: 2013-2-1 20:58

提示: 作者被禁止或刪除 內容自動屏蔽
作者: IanW    時間: 2013-2-1 21:46

Thanks C-Hings,
我英文不好, Data Sheet 明DD,
不如我直接問重點
係咪即係輸出點直接表示輸入左幾多個  Pl ...
kfyiu 發表於 2013-2-1 20:58



哥仔, 你究竟係咪有睇過份 SPEC 架, 哩粒 IC 何來 Q0-Q3 呀?
粒 IC 只係一個 clock 加一, Q0-Q3 唔接出黎.
另, 係 pulse 唔 plus.
作者: zlab    時間: 2013-2-1 21:49

本帖最後由 zlab 於 2013-2-1 21:50 編輯

回復 4# kfyiu
Plus是指脈衝吧!
對,不過IC冇b左Q0,Q1,Q2,Q3同Q11輸出,要自己諗辨法.
作者: kfyiu    時間: 2013-2-1 21:51

提示: 作者被禁止或刪除 內容自動屏蔽
作者: zlab    時間: 2013-2-1 22:11

回復 7# kfyiu

作者: kfyiu    時間: 2013-2-1 22:49

提示: 作者被禁止或刪除 內容自動屏蔽
作者: zlab    時間: 2013-2-1 23:03

本帖最後由 zlab 於 2013-2-1 23:05 編輯

回復 9# kfyiu
可以, 不過計到  11111111, 再入多 1 個 pulse, 最低個 Counter 變成  00000000
作者: kfyiu    時間: 2013-2-1 23:13

提示: 作者被禁止或刪除 內容自動屏蔽
作者: C_Law    時間: 2013-2-2 00:10

overflow 自動重置 1, ( 計到  11111111, 再入多 1 個 pulse 變成  00000001 )
...
kfyiu 發表於 2013/2/1 22:49


你可以試下搵 Presettable 的 Binary counter,Overflow 時 Load 返個 Preset value 入去。不過,又要 o/p,又要 preset value,pin 數有限,一般可 Preset 的 counter 是 4-bit/ic,8-bit counter 就要用兩粒去砌。
作者: zlab    時間: 2013-2-2 00:28

本帖最後由 zlab 於 2013-2-2 00:39 編輯

論壇上求助,祇能獲得大約方向,除非比錢,小弟並非邏輯電路上的專材,也沒有面目收人錢,功力也不很够,所以也祇能提供大約方向一齊討論一下,錯了也不能負責. 好了!由0x11111111跳變成0x00000001本身不很合理,但在硬件上仍有法子,現提供思路以供參考,適用性和細節上仍要自行研究,時鐘頻率改成兩倍,正常經由除2線路入counter,到counter overflow時改由2倍時鐘入counter,在overflow期間,脈衝由正常1個變成兩個,所以counter會連跳兩次變成0x00000001. 但仍然不是直接跳成0x00000001,中間仍然要經過0x00000000,不過跳變在這一刹那快了1倍,如果不能接受會跳變經過0x0000000的話,要加多一組邏輯,NOR 8組輸出,再OR到LSB上,成了,那counter永遠不會有0x00000000的輸出了,包括CLR或RESET在內. counter也祇能由0x00000001閞始了.
作者: kfyiu    時間: 2013-2-2 00:44

提示: 作者被禁止或刪除 內容自動屏蔽
作者: zlab    時間: 2013-2-2 00:47

Thanks 兩位 C-Hing,
我想錯了, 應該是跳到 00000000, 因為下一苙 Counter Q0 因 overflow signal 已跳到 1 ...
kfyiu 發表於 2013-2-2 00:44

哈哈!害我胡吹一大篇的.
作者: kfyiu    時間: 2013-2-2 00:53

提示: 作者被禁止或刪除 內容自動屏蔽
作者: Joe_Black    時間: 2013-2-2 08:34

提示: 作者被禁止或刪除 內容自動屏蔽
作者: Offer    時間: 2013-2-2 09:09

論壇上求助,祇能獲得大約方向,除非比錢,小弟並非邏輯電路上的專材,也沒有面目收人錢,功力也不很够,所 ...
zlab 發表於 2013-2-2 00:28



    做這咁特別logic也可用MCU去解決仲快手
作者: kfyiu    時間: 2013-2-2 09:18

提示: 作者被禁止或刪除 內容自動屏蔽
作者: zlab    時間: 2013-2-2 09:37

回復 19# kfyiu
STM32F103 仲正, 內部有17個counter, 其中通用16bit counter 有10個, RTC 24bit counter 有1個, 學成後可以1U走天涯.
作者: kfyiu    時間: 2013-2-2 09:53

提示: 作者被禁止或刪除 內容自動屏蔽
作者: kfyiu    時間: 2013-2-2 09:58

提示: 作者被禁止或刪除 內容自動屏蔽
作者: kfyiu    時間: 2013-2-2 10:06

提示: 作者被禁止或刪除 內容自動屏蔽
作者: zlab    時間: 2013-2-2 10:26

本帖最後由 zlab 於 2013-2-2 11:56 編輯

回復 23# kfyiu
C51開始冇市場,强國以STM32為主,建議用C51作日常使用,日後用STM32取代,差不多什麽都1U頂晒,另網中很多C51/PC用com通訊範例,唔使吓吓自己窵咁大鑊.
作者: kfyiu    時間: 2013-2-2 11:30

提示: 作者被禁止或刪除 內容自動屏蔽
作者: zlab    時間: 2013-2-2 12:04

回復  zlab
學野嘛, 唔自己寫點會學到野
kfyiu 發表於 2013-2-2 11:30

C51現時祇剩下應用價值,已失去學習價值了,國外單片高階多用PIC32,國內以STM32為主,有時間攪不如學新嘢. 我有套STM32學習kit,有興趣可PM我.
作者: kfyiu    時間: 2013-2-2 12:35

提示: 作者被禁止或刪除 內容自動屏蔽
作者: kfyiu    時間: 2013-2-2 15:30

提示: 作者被禁止或刪除 內容自動屏蔽
作者: zlab    時間: 2013-2-2 15:35

回復 28# kfyiu
野火M3, 2 x Com port, Lan, USB, Micro SD, Audio, Touch color LCD
stm32_board.JPG
stm32_pack.JPG
stm32_book.jpg
技術論壇
http://www.amobbs.com/forum-1008-1.html

圖片附件: stm32_board.JPG (2013-2-2 15:33, 122.77 KB) / 下載次數 49
https://h2.hkepc.com/forum/attachment.php?aid=1489147&k=4e022fabbdb9bc2b324656576c36af3a&t=1781541840&sid=1aF8HaEi2e0



圖片附件: stm32_book.jpg (2013-2-2 15:33, 119.45 KB) / 下載次數 55
https://h2.hkepc.com/forum/attachment.php?aid=1489148&k=5eeb3dd99d612e0fded36ddee9c9ad8c&t=1781541840&sid=1aF8HaEi2e0



圖片附件: stm32_pack.JPG (2013-2-2 15:33, 122.13 KB) / 下載次數 54
https://h2.hkepc.com/forum/attachment.php?aid=1489149&k=dc6a98c9916ca684f53d87ea4edda3c2&t=1781541840&sid=1aF8HaEi2e0


作者: kfyiu    時間: 2013-2-2 15:54

提示: 作者被禁止或刪除 內容自動屏蔽
作者: zlab    時間: 2013-2-2 16:33

回復 30# kfyiu
CLK = 72MHz, CPU = STM32F103
作者: kfyiu    時間: 2013-2-2 16:49

提示: 作者被禁止或刪除 內容自動屏蔽
作者: zlab    時間: 2013-2-2 17:18

回復 32# kfyiu
16bit 的 GPIO 有五個,可自由對應到任何腳位,及以任何方式驅動.
作者: kfyiu    時間: 2013-2-2 18:43

提示: 作者被禁止或刪除 內容自動屏蔽
作者: zlab    時間: 2013-2-2 19:08

回復  zlab
GPIO 係米等於 C51 的 Parallel 8 bit IO-Port ?   PA, PB, PC
你塊板好似見唔到有 Parallel  ...
kfyiu 發表於 2013-2-2 18:43

其GPIO port 係16 bit IO port,可以經編程對應在任何腳位,可輸出輸入.所有腳位都有引出,要自行焊針腑,因為係學習套件,而且現今parallel port並不是主流,所以要自行解决,所有其他STM32開發板都不會有parallel port,因其太易解決.
作者: kfyiu    時間: 2013-2-2 20:02

提示: 作者被禁止或刪除 內容自動屏蔽
作者: ckshum    時間: 2013-2-3 01:09

回復  kfyiu
野火M3, 2 x Com port, Lan, USB, Micro SD, Audio, Touch color LCD



技術論壇
...
zlab 發表於 2013-2-2 15:35


我覺得太powerful的mcu沒有diy味,還是8-bit mcu小制作有趣
作者: kfyiu    時間: 2013-2-3 11:55

提示: 作者被禁止或刪除 內容自動屏蔽
作者: zlab    時間: 2013-2-3 13:07

想當年,無線電技術有介紹用邏輯集成電路做4bit CPU.  現今仍有鬼佬DIY CPU,參考 http://bbs.eeworld.com.cn/wap/in ... hread&tid=77874
可算是極有DIY精神了,我們的DIY萬萬不及!
作者: kfyiu    時間: 2013-2-5 00:17

提示: 作者被禁止或刪除 內容自動屏蔽
作者: Charcoal99    時間: 2013-2-5 09:23

回復 40# kfyiu

二進制counter每一位看, 逢二進一, 值只有0到1, 增加到  2時復位到0, 並產生進位訊號Carry。
十進制counter每四位看, 逢十進一, 值可由0到9, 增加到10時復位到0, 並產生進位訊號Carry。
作者: kfyiu    時間: 2013-2-5 11:44

提示: 作者被禁止或刪除 內容自動屏蔽
作者: Charcoal99    時間: 2013-2-5 12:49

回復 42# kfyiu

二進數表示值      十進數表示值
D3 D2 D1 D0
{0,  0,  0,  0}          0
{0,  0,  0,  1}          1
{0,  0,  1,  0}          2
{0,  0,  1,  1}          3
{0,  1,  0,  0}          4
{0,  1,  0,  1}          5
{0,  1,  1,  0}          6
{0,  1,  1,  1}          7
{1,  0,  0,  0}          8
{1,  0,  0,  1}          9
作者: kfyiu    時間: 2013-2-5 13:02

提示: 作者被禁止或刪除 內容自動屏蔽
作者: Charcoal99    時間: 2013-2-5 13:32

本帖最後由 Charcoal99 於 2013-2-5 13:37 編輯

回復 44# kfyiu

所以我說是 [表示值], 它的意思是:

舉例: 二進值 {0, 1, 0, 1}  跟十進值(5) 指的是同一個數,
只是它們的表達方式不一樣而已,
當你看到counter 的輸出腳是 0, 1, 0, 1 時,
你可以說它輸出了二進值 {0101}, 也可說它輸出了十進值 {5}
十進值各輸出已如上列了出來。

二進 和 十進 counter 的分別主要是甚麼時候復位為0 和產生進位,
仍是以二進表示相同的管腳輸出其值。
作者: kfyiu    時間: 2013-2-5 13:51

提示: 作者被禁止或刪除 內容自動屏蔽
作者: zlab    時間: 2013-2-5 14:20

回復 46# kfyiu

作者: kfyiu    時間: 2013-2-24 20:24

提示: 作者被禁止或刪除 內容自動屏蔽
作者: Charcoal99    時間: 2013-2-24 21:26

本帖最後由 Charcoal99 於 2013-2-24 21:47 編輯

對於12-bit Ripple Carry counter, 你把最後一級 (第1腳)接到下一IC的第10腳即可
把它們串接成24-bit counter.
References :
http://www.bowdenshobbycircuits.info/page11.htm
http://hem.passagen.se/communication/freqcounter.html
作者: kfyiu    時間: 2013-2-24 22:06

提示: 作者被禁止或刪除 內容自動屏蔽
作者: Joe_Black    時間: 2013-2-24 23:24

提示: 作者被禁止或刪除 內容自動屏蔽
作者: Charcoal99    時間: 2013-2-25 00:11

本帖最後由 Charcoal99 於 2013-2-25 00:58 編輯

硬件接法正是如此, 但要當心這是非同步設計, 採樣要小心處理。
有沒有留意樓上的sample circuit, CD4068 後有個47K電阻及470pF電容, 除了sustain output 外
同時是一個glitch filter。 Ripple Counter 會產生瞬間暫態(Flip-Flop 間之訊號傳遞時間差),
如 011 -> 100 這序列有可能會變成 011 -> (000) -> 100
當中(000)是瞬間暫態, 時間極短, 接LED沒問題, 但如果CPU 剛好捕捉到(雖然機會微),
便會成為錯誤數據, 有可能產生工作幾千次至幾十萬次才出現一次的bug.(視乎你會否counter變動中讀取)
作者: kfyiu    時間: 2013-2-25 01:53

提示: 作者被禁止或刪除 內容自動屏蔽
作者: kfyiu    時間: 2013-2-25 02:12

提示: 作者被禁止或刪除 內容自動屏蔽
作者: Charcoal99    時間: 2013-2-25 12:00

本帖最後由 Charcoal99 於 2013-2-25 12:13 編輯

回復 54# kfyiu

這可是一整章書甚至是一本書的題目。在此只能簡而言之, 先看看Wiki
「同步電路是一種由時鐘(時脈訊號)子電路所同步的一種電路。 在一個同步電路中,他的元件中邏輯等級的每一個改變都是同時的。所有的轉變都是遵循一個特別的同步訊號,稱為"時鐘"(時脈)。不管邏輯的鍊結有多長,在於時鐘(時脈)以及其他部份的邏輯轉變都是沒有延遲的。所以在整個電路的行為-在任意一點-可以在任何的速度精確的被預見。」
而"非同步" 或 "異步" 即不存在同步這關係, 各元件訊號只依各自反應輸入的改變, 由於邏輯鍊的逐層延時, 而有瞬間暫態行為出現。
有關這行為, 可看以下連結之simulation: (瞬間暫態被放大了)
http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/30-counters/20-async/counter-slow.html
按mouse右button可zoom, 逐次點按clk_up後看輸出。

在你的情形中, 出現次數可能不會嚴重, 幾十萬至幾千萬次才會出現一次(視乎cpu採樣頻率和 i/o 特性 , 甚至錯了也可能會被下一數據覆蓋修正了而不被發現) 小制作玩玩的話可以不理, 但用來作產品卻不應忽略。只是提醒你要注意一下或會有這情況出現。
至於解決方法可有很多種, 直接了當的是採用同步設計, 不過電路會變複雜。
可參考使用synchronous counter CD4520 DataSheet Figure 14.
http://www.datasheetcatalog.org/datasheets/120/109587_DS.pdf
也可照樣使用現設計但另外確保cpu不在轉變計數器時採樣, 甚至可因應情況用software過濾。
作者: kfyiu    時間: 2013-2-25 13:41

提示: 作者被禁止或刪除 內容自動屏蔽
作者: Charcoal99    時間: 2013-2-25 14:05

本帖最後由 Charcoal99 於 2013-2-25 14:08 編輯

回復 56# kfyiu

是的。
重申一次, 非同步設計不一定會出問題, 這只是個需考慮事項, 具體問題要按不同項目考慮。
而且當不出現timing問題時,  簡單項目非同步設計一般會比較簡易。
由于你這個是24-bit counter而且CNC有一定精度要求, 所以提醒一下。
順帶一提, 如果你只是做upcount, 如果發現在復位前counter數比之前少,便是讀錯了。





歡迎光臨 電腦領域 HKEPC Hardware (https://h2.hkepc.com/forum/) Powered by Discuz! 7.2