Bình thường xung clock dễ chia nếu mẫu số là bậc 2 (2,4,8,16 ...). Nhưng ví dụ như chia cho 2.33333... (7/3), thì phải làm cách nào? Mong các bạn góp ý.
Thông báo
Collapse
No announcement yet.
Làm cách nào để nhân chia lẻ cho xung clock?
Collapse
X
-
Hi Tony,
Mình thấy người ta sử dụng PLL để tạo ra dạng sóng có dạng (a/b) như bạn nói (do phải nhân tần số lên a ).
Nhưng với trường hợp (1/b) thì chúng ta có thể dùng máy trạng thái bất dồng bộ (Asynchronous State Machine - ASM) nhưng cái này mình không nhớ rõ cho lắm. Bạn có thể dùng từ khóa ASM tìm thêm nha.
Chúc bạn thành công.
.^_^.Last edited by danbeo85; 20-04-2010, 15:04.
-
Mình nghĩ ý anh tony là muốn nói đến kỹ thuật fractional divider.
Dùng một bộ đếm n ta có thể có bộ chia xung Fout = Fin*(1/n) (n = 1,2,3 . . .)
Nếu thiết lập một giá trị "bước nhảy" m vào kết quả của bộ đếm n ở trên thì ta có thể làm được bộ chia xung Fout = Fin * (m/n) (m = 0,1,2, . .n-1)
Không biết có nói đúng ý anh tony ko?
Thân mến.
Comment
-
Hi các bạn,
Theo mình thì cách tốt nhất vẫn là dùng PLL trong thiết kế vì như thế người thiết kế có thể kiểm tra được độ trễ, độ lệch pha sau của clock ngõ ra mong muốn.
Dùng ASM thì cũng được có thể tạo xung clock có duty cycle phụ thuộc vào 1/2 clock đầu vào nhưng hạn chế là phải ràng buộc timing rất chặt chẻ, và quan tâm đến độ trễ của cổng (gate), chống hazard, ...
Còn cách dùng counter để đếm thì OK, tuy nhiên cách này cũng mắc một số khuyết điểm như duty cycle sẽ phụ thuộc vào "1 clock" xung clock đầu vào, và phải cẩn thận với độ trễ của ngõ ra. (cần ràng buộc chặt về timing). Đối với mạch này thì mình không vẫn chưa hiễu "bước nhảy" m là gì? Nếu mạch chỉ có một xung clock đầu vào thì thiết kế như thế nào để tạo ra bước nhảy đó. Theo mình thì mạch nên có it nhất là 2 clock, một clock sẽ được dùng để đếm (có tần số đủ lớn), một clock được dùng cho việc tham khảo (Fin) và clock đầu ra sẽ được tạo ra dựa trên tần số tham khảo đó (Fout = (m/n) Fin). Tuy nhiên cách thức này cũng mắc khuyết điểm như các mạch trên, ngoài việc xem xet độ trễ thì chúng ta cũng phải xem xét đến pha của tín hiệu đầu ra so với đầu vào (clock tham khảo).
Nếu như thiết kế cần ngõ ra của bộ tạo sóng là tần số thấp thì mình thấy cách nào cũng được.
Theo ý mình nếu thiết kế cần clock = (m/n) clock đầu vào thì tốt nhất nên dùng PLL cho chính xác và dễ sử dụng.
Đây chỉ là ý kiến của mình, mong các bạn góp ý thêm nha.
.^_^.
Comment
-
Riêng trong FPGA, có block DCM chuyên trị việc tạo clock này: có the tạo bất cứ output có dạng m/n clock input.
Nguyên lý là dùng VCO-PLL/DLL và các tầng chia clock.
Nếu output được dùng làm clock thì recommend là dùng DCM/PLL, không nên dùng logic.
Comment
-
Bước nhảy ở đây có thể hiểu như sau:
Giả sử có bộ đếm 3 bít, sau mỗi xung sẽ cộng 1 (bước nhảy 1) khi nào over flow thì sẽ cho ra xung đầu ra. Như vậy ta có thể có bộ chia 8/1. (cụ thể đầu ra bộ đếm sẽ là 0,1,2,3,4,5,6,7,0,1,2, . . ., xung đầu ra sẽ ở mỗi vị trí 7->0)
Nhưng cũng bộ đếm đấy, sau mỗi xung sẽ cộng 3 (bước nhảy 3), khi nào over flow thì sẽ cho ra một xung. Như vậy ta có bộ chia 8/3. (cụ thể đầu ra bộ đếm sẽ là 0,3,6,1,4,7,2,5,0,3,6,…, xung đầu ra sẽ ở mỗi vị trí 6->1, 7->2, 5->0, . . .)
Thân mến.
Comment
-
Nguyên văn bởi hithere123 Xem bài viếtBước nhảy ở đây có thể hiểu như sau:
Giả sử có bộ đếm 3 bít, sau mỗi xung sẽ cộng 1 (bước nhảy 1) khi nào over flow thì sẽ cho ra xung đầu ra. Như vậy ta có thể có bộ chia 8/1. (cụ thể đầu ra bộ đếm sẽ là 0,1,2,3,4,5,6,7,0,1,2, . . ., xung đầu ra sẽ ở mỗi vị trí 7->0)
Nhưng cũng bộ đếm đấy, sau mỗi xung sẽ cộng 3 (bước nhảy 3), khi nào over flow thì sẽ cho ra một xung. Như vậy ta có bộ chia 8/3. (cụ thể đầu ra bộ đếm sẽ là 0,3,6,1,4,7,2,5,0,3,6,…, xung đầu ra sẽ ở mỗi vị trí 6->1, 7->2, 5->0, . . .)
Thân mến.
Trong mấy mạch DSP, cái này hay được sử dụng, với 32bit đếm, khá hiệu quả.Last edited by jefflieu; 20-04-2010, 17:14.
Comment
-
Khá hay! Bạn nào cũng có cái đúng. Để nhân xung clock thì cần PLL. Nếu xung clock quá cao và thiết kế không đáp ứng được độ jitter của xung clock thì dùng analog. Ngoài ra thì có thể dùng digital PLL. Ở DPLL vẫn cần phải có reference clock cao hơn đầu ra. Tùy theo thiết kế có thể đáp ứng với jitter ở độ nào thì chọn reference cao hay thấp, thường thì vào khoảng 16 lần của xung clock ra.
Fractional Divider khá thông dụng trong DPLL cho nên tôi đưa ra đây để mọi người cùng thảo luận. Mình có thể trở lại PLL trong những đề tài tương lai. Các bạn đồng ý không?
Chúc vui
Comment
-
Nguyên văn bởi hithere123 Xem bài viếtBước nhảy ở đây có thể hiểu như sau:
Giả sử có bộ đếm 3 bít, sau mỗi xung sẽ cộng 1 (bước nhảy 1) khi nào over flow thì sẽ cho ra xung đầu ra. Như vậy ta có thể có bộ chia 8/1. (cụ thể đầu ra bộ đếm sẽ là 0,1,2,3,4,5,6,7,0,1,2, . . ., xung đầu ra sẽ ở mỗi vị trí 7->0)
Nhưng cũng bộ đếm đấy, sau mỗi xung sẽ cộng 3 (bước nhảy 3), khi nào over flow thì sẽ cho ra một xung. Như vậy ta có bộ chia 8/3. (cụ thể đầu ra bộ đếm sẽ là 0,3,6,1,4,7,2,5,0,3,6,…, xung đầu ra sẽ ở mỗi vị trí 6->1, 7->2, 5->0, . . .)
Thân mến.Last edited by tonyvandinh; 20-04-2010, 23:40.
Comment
-
Nguyên văn bởi jefflieu Xem bài viếtCái này gọi là NCO (numerically controlled oscillator), sử dụng cái này sẽ gặp chút rắc rối về duty cycle và khi tỉ số khó như: 7/6, sẽ tạo clock không "đẹp" và ko nhân clock được, clock output luôn nhỏ hơn clock dùng để đếm.
Trong mấy mạch DSP, cái này hay được sử dụng, với 32bit đếm, khá hiệu quả.
1) Xung vào phải cao hơn xung ra rất nhiều.
2) Sự sai biệt của duty cycle không ảnh hưởng đến hoạt động của những khối chạy bằng xung ra.
Jeff nghĩ sao?Last edited by tonyvandinh; 20-04-2010, 23:58.
Comment
-
Nguyên văn bởi tonyvandinh Xem bài viếtNếu giãn xung ra thì phải chia xuống như vậy thì phải tìm cách nhân lên. Nếu xung vào có thể nhân lên trước, chia lẻ rồi chia xung ra với cùng bội số mà nhân với xung vào thì xung ra sẽ đẹp hơn....
1) Xung vào phải cao hơn xung ra rất nhiều.
2) Sự sai biệt của duty cycle không ảnh hưởng đến hoạt động của những khối chạy bằng xung ra.
Jeff nghĩ sao?
1) Dùng DCM có sẵn trên FPGA, khối này cho phép Fout = m/n Fin ... m, n nguyên tùy ý (1->32 thì phải). Đặc biệt Fout co' thể lớn hơn Fin ...
2) Dùng mạch NCO như bạn hithere nêu ra, cái này chỉ có thể tạo ra clock nhỏ hơn clock ban đầu, và clock sẽ càng ngày càng xấu khi tỉ số Fout/Fin tiến gần tới 0.5 ... ko làm được >0.5.
Jeff nghĩ không nhất thiết xung vào phải lớn hơn xung ra nhiều và duty cycle ảnh hưởng khi dùng double data-rate. Còn không thì ko quan trọng.Last edited by jefflieu; 21-04-2010, 11:08.
Comment
-
Nguyên văn bởi jefflieu Xem bài viết1h rưỡi khuya, đọc cái câu này của a Tony 5 lần mà không hiểu được...
Comment
-
Hi Các bạn,
Như đã nói ở trên, mạch dùng NCO hay bộ counter để tạo xung cần để ý thêm vấn đề về phase của clock ngõ ra. Do đó lấy ví dụ của tony clock ban đầu là 10MHz, clock cho bộ đếm là 160MHz và bộ đếm có thể tạo clock ngõ ra 70/3 MHz với một độ lệch phase ấn định (có thể là 90, 180, 45, ...) trong khoảng cho phép dựa vào phase (dựa vào cạnh xung) của clock 10MHz.
.^_^.
Comment
-
Nguyên văn bởi tonyvandinh Xem bài viết@Jeff, Ví dụ như tôi muốn chia xung clock 10MHZ xuống 2.33333 (7/3) thì xung ra sẽ là 4.28571429MHZ. Nhưng thay vì dùng 10MHZ cho xung vào, tôi sẽ dùng 16x10MHZ = 160MHZ. Khi chia cho 7/3 thì mỗi 7 xung vào ở 160MHZ, sẽ có 3 xung ra (ví dụ : 1001001) tương đương với 68.5714286MHZ rồi chia xuống 16. Xung ra ở 68MHZ có thể không đẹp (theo duty cycle) nhưng khi chia xuống 16 lần thì duty cycle sẽ đẹp hơn. Hy vọng hình dưới đây sẽ làm dễ hiểu hơn
Comment
-
Nguyên văn bởi jefflieu Xem bài viếtÀh, hiểu rồi ... hoàn toàn đồng ý ... chỉ cần x2 lên trước là giải quyết được vấn đề.
x2
x16
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Hỗ trợ tìm linh kiện mạch hạ áp 220V - 110Vbởi davidcopyTheo như A.I phân tích thì mạch này ghim điện DC ngõ ra, tụ 250VDC thì ngõ vào khoảng 220VDC là ok....
-
Channel: Hướng dẫn tìm thông tin linh kiện
08-03-2025, 11:45 -
-
bởi davidcopybạn cần hỗ trợ gì sao không viết ra hoặc chụp hình kèm chú thích...
-
Channel: Hỗ trợ học tập
08-03-2025, 10:13 -
-
Trả lời cho Sạc bình acquy 30ahbởi dinhthuong80Đình Thường xin phép nhờ chủ đề này để chia sẻ về 1 bộ sạc bình. Xin được nói trước là không có ý xoi mói tìm lỗi, chỉ nhằm mục đích chia sẻ về vấn đề kĩ thuật cho ai quan tâm thôi ạ!
Chúng ta không nên dùng bộ sạc...-
Channel: Điện tử dành cho người mới bắt đầu
08-03-2025, 10:05 -
-
Trả lời cho Hàn chì thiếc lên nhôm.bởi vi van phamBình thường là vậy. Họ không hiểu thì họ là người không bình thường.
Bác không có việc làm, vẽ chuyện kiếm niềm vui, không vui thì buồn vậy....-
Channel: Tâm tình dân kỹ thuật
08-03-2025, 10:03 -
-
Trả lời cho Hàn chì thiếc lên nhôm.bởi dinhthuong80Dạ, bình thường sẽ là vậy, ai cũng hiểu nhưng cháu vẫn rất sợ sẽ có người cố tình không hiểu và lí luận soi mói ấy bác ạ! Vì rõ ràng nó có tan... vài phân tử trong nước rồi mới thôi tan!!!!...
-
Channel: Tâm tình dân kỹ thuật
08-03-2025, 09:33 -
-
Trả lời cho Hàn chì thiếc lên nhôm.bởi vi van phamAL là kim loại không tan trong nước là đúng vì khi tiếp xúc với nước sẽ tạo thành Al (OH)3 ngăn không cho phản ứng tiếp tục và phản ứng dừng lại ngay....
-
Channel: Tâm tình dân kỹ thuật
07-03-2025, 17:57 -
-
bởi mèomướpDạ chú nên dùng bếp gas ạ. Chơi với điện mùa hè cẩn thận khách chạy hết ấy ạ. Hôm nọ đi học về cháu thấy chị học trên cháu 1 lớp nhà chị ấy có điện 3 pha ấy ạ, nên chắc là lắp được nhưng tốn xiền ạ...
-
Channel: Điện tử gia dụng
07-03-2025, 16:10 -
-
Trả lời cho Hàn chì thiếc lên nhôm.bởi dinhthuong80Có lẽ nào vì bác nói chưa rõ nên họ bắt bẻ chỗ
Bởi cháu nhớ ngày xưa họ nói nhôm là kim loại khá mạnh, nếu là nguyên chất nó sẽ phản ướng với nước tạo ra nhôm hidroxit có màu trắng xốp sệt như xà phòng...-
Channel: Tâm tình dân kỹ thuật
07-03-2025, 14:52 -
-
bởi gameba1993cảm ơn bạn, mình hộ kinh doanh gia đình thì xin điện 3 pha có được không nhỉ....
-
Channel: Điện tử gia dụng
07-03-2025, 14:21 -
-
bởi mèomướpDạ điện 1 pha dân dụng tối đa phụ thuộc công tơ điện, át tô mát, dây dẫn. Ví dụ công tơ 50A, át 30A, dây dẫn 8mm2 thì tối đa là 30A từ đó tính được công suất max khoảng 6kw. Của chú 10kw thì có lẽ điện 3 pha sẽ ổn hơn ạ...
-
Channel: Điện tử gia dụng
07-03-2025, 13:59 -
Comment