Tất nhiên, bất cứ ai xem xét các phương pháp tạo ra các chữ số ngẫu nhiên, tất nhiên, đều ở trạng thái tội lỗi John Von Neumann −
Một nguồn tiếng ồn tốt là tiếng ồn sự cố của diode zener. Sơ đồ đơn giản dưới đây cho thấy cách lấy nhiễu trắng từ zener bằng cách ghép hai LNA (Bộ khuếch đại nhiễu thấp) để tăng mức độ nhiễu.
Nếu bạn không quan tâm đến tiếng ồn là màu trắng, bạn có thể chỉ cần sử dụng bộ khuếch đại opamp với độ khuếch đại cao, với bộ so sánh theo sau nó. Khuếch đại của opamp đặt giới hạn cho băng thông và do đó tốc độ thay đổi tín hiệu số của bạn. Nếu tầng cần thiết hai opamp như LNA trong sơ đồ đã cho để có được luồng bit ngẫu nhiên nhanh hơn.
Bạn có thể sử dụng mô-đun SPI để xung nhịp theo byte của các bit ngẫu nhiên từ mạch này.
(SPI chỉ là một cách đơn giản để tự động thu thập 8 bit ngẫu nhiên, nó không thêm bất kỳ mức độ xác định nào: đầu vào thay đổi liên tục và ngẫu nhiên và bạn không bao giờ biết nó sẽ ở cạnh đồng hồ tiếp theo. Bạn cũng có thể đọc một Ghim I / O và chuyển mức bit đó thành byte kết quả của bạn.)
Mạch này là một giải pháp thay thế khả thi, cũng dựa vào một diode zener làm nguồn nhiễu:
Sơ đồ đề cập đến OPA2340 cho bộ khuếch đại, nhưng không rõ ràng trên bộ so sánh. Mặc dù OPA2340 khá nhanh, tôi khuyên bạn nên sử dụng một bộ so sánh thực sự ở đây vì chúng thường nhanh hơn nhiều so với opamp. Chẳng hạn, TL3016 có độ trễ lan truyền nhỏ hơn 10ns và thời gian tăng là 0,5ns điển hình. Điều này có nghĩa là bạn có thể lấy mẫu các giá trị ngẫu nhiên nhanh hơn mà không có nguy cơ kết hợp giữa các mẫu liên tiếp.
Để kiểm tra trình tạo số ngẫu nhiên, bạn có thể kiểm tra tính quy tắc . Điều này có nghĩa là tạo ra một chuỗi dài các số ngẫu nhiên, càng dài càng tốt. Điều tốt nhất là vận chuyển nó đến PC để phân tích. Đếm các chuỗi một bit, đó là 0
s và 1
s. Nên có cùng số lượng của mỗi. Lặp lại tiếp theo cho chuỗi hai bit. Nên có nhiều 00
s như 01
s, 10
s và 11
s. Lặp lại cho chuỗi ba bit, v.v.
Tôi không phải là người thống kê, vì vậy có thể có các bài kiểm tra tốt hơn / dễ dàng hơn. Hãy thêm chúng vào.