Câu hỏi đồng hồ lý thuyết


8

Chỉ là một câu hỏi lý thuyết nhiều hơn bất cứ điều gì. Có phải tín hiệu đồng hồ phải có cùng chiều rộng giữa má và máng?

Một tín hiệu đồng hồ bình thường với dữ liệu (bên dưới):

Đồng hồ bình thường

Tín hiệu đồng hồ ngẫu nhiên có dữ liệu (dữ liệu vẫn đồng bộ với đồng hồ) (bên dưới):

Đồng hồ ngẫu nhiên

Liệu chip (bất kỳ chip nào nói chung, nhưng như một ví dụ, một thanh ghi dịch chuyển song song ra ngoài) vẫn hoạt động bình thường với đồng hồ ngẫu nhiên hơn? Nếu không, tai sao không?

Một lần nữa, không phải là tôi dự định làm điều này, nhưng về mặt lý thuyết, có lý do nào khiến tôi không thể sử dụng pin ouput tiêu chuẩn trên Raspberry Pi / Arduino làm đồng hồ và pin khác làm dữ liệu không?

Mã giả ví dụ:

fakeClockPin = 1;
dataPin = 2;

setPin(dataPin, HIGH);
setPin(fakeClockPin, HIGH);
sleep(1); //1ms
setPin(fakeClockPin, LOW);
sleep(1); //1ms

setPin(dataPin, LOW);
setPin(fakeClockPin, HIGH);
sleep(1); //1ms
setPin(fakeClockPin, LOW);
sleep(1); //1ms

setPin(dataPin, HIGH);
setPin(fakeClockPin, HIGH);
sleep(1); //1ms
setPin(fakeClockPin, LOW);
sleep(1); //1ms

setPin(dataPin, LOW);
setPin(fakeClockPin, HIGH);
sleep(1); //1ms
setPin(fakeClockPin, LOW);
sleep(1); //1ms

Không phải tất cả các đồng hồ là đối xứng. Một số bộ vi xử lý cũ cần một đồng hồ nhiệm vụ 66% (nếu tôi nhớ đúng).
HL-SDK

1
Kỹ thuật được mô tả bằng mã giả của bạn được gọi là bit banging , và đó là một điều hoàn toàn hợp pháp để làm.
Phil Frost

Câu trả lời:


12

Tín hiệu đồng hồ của bạn là kích hoạt cạnh, trong các ví dụ của bạn trên cạnh tích cực. Bạn có thể biết vì dữ liệu phải ổn định trong một thời gian ngắn trước khi cạnh đồng hồ ( thời gian thiết lập ) và nếu đồng hồ chốt trên cạnh rơi, nó sẽ trùng với dữ liệu của bạn thay đổi.

Ngoại trừ thời gian thiết lập, có một vài hạn chế: đồng hồ có thể duy trì ở mức cao miễn là nó muốn. Bạn sẽ phải có một thời gian thấp tối thiểu, tuy nhiên, trước khi tăng cạnh tiếp theo.


7

Một con chip sẽ hoạt động bình thường miễn là bạn vận hành nó trong 'các tham số hoạt động bình thường' như được chỉ định trong biểu dữ liệu. Hầu hết các chip chỉ có yêu cầu về thời gian tối thiểu giữa các cạnh đồng hồ và thời gian thiết lập (dữ liệu ổn định cho cạnh đồng hồ hoạt động). Không bị vi phạm bằng cách kéo dài đồng hồ.

Trong thực tế, tín hiệu đồng hồ do phần mềm tạo ra sẽ luôn có sự thay đổi lớn về thời gian. Điểm quan trọng là bạn không làm mọi thứ quá nhanh đối với chip bên ngoài. Nhưng thời gian của một thanh ghi thay đổi điển hình được biểu thị bằng 10 giây của ns, nhanh hơn một vài đơn hàng so với 1 ms bạn quan sát.


1

Một con chip đơn giản với "pin đồng hồ" không quan tâm khi cạnh đồng hồ đến, chỉ có điều nó làm được. Thậm chí, các xung đẳng thời còn nhiều hơn vì lợi ích của phần mềm hoặc phần cứng phức tạp hơn, ví dụ như các thiết bị dựa trên PLL.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.