Làm thế nào là nhị phân được chuyển đổi thành tín hiệu điện?


16

Tôi chỉ mới bắt đầu trong điện tử và đã bị mê hoặc. Đã chơi với Arduino vài ngày qua tôi biết rằng nhị phân là một đại diện của các điện áp khác nhau - chẳng hạn như đại diện + 5V 1và đại diện GND 0.

Tôi đã cố gắng khám phá làm thế nào, ở mức độ vật lý, vi điều khiển chuyển đổi nhị phân thành các điện áp này. Tôi dường như không thể tìm thấy một mô tả bất cứ nơi nào. Bất cứ ai cũng có thể chia sẻ kiến ​​thức của họ hoặc chỉ cho tôi một địa điểm / cuốn sách hay mô tả cách thức hoạt động của nó?


1
Tôi không nhớ đó là cái nào, nhưng hãy xem video này . Nội dung tốt.
abdullah kahraman

2
Trên thực tế, bộ điều khiển vi mô không chuyển đổi nhị phân thành các điện áp khác nhau. Nhị phân là điện áp. A + 5V được ký hiệu là "CAO" hoặc "1". Và 0V được ký hiệu là "THẤP" hoặc "0". Đi và xem xét các công tắc điện tử, hoặc chi tiết hơn; MOSFE.
abdullah kahraman

Bạn KHÔNG hỏi về chuyển đổi "tương tự sang số" hay "kỹ thuật số sang tương tự", phải không?
abdullah kahraman

3
Nó có thể giúp nghĩ về nó theo cách khác. 'Nhị phân' là một loại thực thể toán học tượng trưng mà con người chúng ta muốn lý luận. Mạch logic có thể biểu diễn nhị phân với điện áp khác nhau. Chúng tôi thiết kế các mạch logic sao cho những gì các mạch làm với các mức điện áp sẽ có ý nghĩa logic nhất quán khi con người chúng ta hiểu các điện áp đó là số nhị phân.
JustJeff

1
@abdullahkahraman Bạn nói đúng, tôi không nghĩ tôi đang nói về DAC, như bạn nói. Cảm ơn liên kết đến video, nó rất nhiều thông tin. Và bằng cách đó, bạn cũng đã giới thiệu cho tôi trang web MIT OCW, có vẻ như đó sẽ là một nguồn tài nguyên tuyệt vời cho việc học. Cảm ơn!
Matt

Câu trả lời:


18

Tôi muốn giới thiệu lại một phần câu trả lời của KellenJB theo một cách hơi khác:

Không có chuyển đổi từ nhị phân 1 và 0 thành điện áp như 5 V và 0 V. Bộ vi điều khiển, hoặc bất kỳ mạch vật lý nào, chỉ hoạt động trên các điện áp.

Các điện áp đó được "chuyển đổi" thành nhị phân 1 và 0 trong đầu khi chúng ta hình thành một mô hình đơn giản hóa trong tâm trí về cách thức hoạt động của mạch.


2
Đúng. Vâng, vâng, vâng, và (oh yeah), vâng.
JustJeff

1
Và tôi sẽ thêm rằng là 0, điện áp chỉ cần ở gần 0 hoặc dưới ngưỡng (giả sử <0,8v) và lớn hơn 1 so với ngưỡng (giả sử> 2,0v). Các ngưỡng khác nhau bởi công nghệ được sử dụng để xây dựng thiết bị và điện áp cung cấp hoạt động 5v trong trường hợp của anh ta.
kenny

1
Cảm ơn tất cả. Vì vậy, một khi một máy tính đang chạy, không có thực sự đi qua mã máy nhị phân? Mã nhị phân, khi được tải lên dưới dạng phần sụn có lẽ được lưu trữ trong bộ nhớ mà khi bộ xử lý 'truy cập' phản ứng với một chu kỳ điện áp tương ứng với nhị phân? (Hy vọng điều này có ý nghĩa)
Matt

Để được "tải lên", mã phải ở dạng vật lý: điện áp trên dây, vị trí của một số đòn bẩy (hoặc phím trên bàn phím), bất cứ điều gì. Trong bộ nhớ, các bit được lưu trữ dưới dạng tích lũy điện tích trên tụ điện ... cũng tạo ra điện áp trên tụ điện.
Photon

1
Quan điểm của tôi là, hình dạng trên màn hình hoặc được in trên một tờ giấy chỉ là ánh sáng hoặc đốm mực, cho đến khi tâm trí của chúng ta giải thích chúng có nghĩa là một hoặc không. Hãy tưởng tượng một chữ cái được in trong bảng chữ cái mà bạn không biết (giả sử là Cyrillic hoặc tiếng Thái). Nó chỉ là một đốm mực cho đến khi một người Nga hoặc Thái Lan đến để giải thích nó và biết nó đại diện cho âm thanh gì. Nhưng sự phân biệt triết học này có lẽ khiến chúng ta lạc đề.
Photon

11

Thực sự không có một "chuyển đổi" nào diễn ra. Nhị phân 1 và 0 chỉ là một đại diện ảo của các điện áp cơ bản. Trong thực tế, trong nhiều hệ thống, điện áp cao có thể có nghĩa là 0 trong khi điện áp thấp có nghĩa là 1. Có một số lý do tại sao điều này được thực hiện, nhưng có lẽ nhiều hơn sau đó bạn quan tâm để sớm đi sâu vào vấn đề này.

Để hiểu những gì đang xảy ra trong logic, có lẽ tốt nhất là nhìn vào bóng bán dẫn. Một bóng bán dẫn có thể được sử dụng cho nhiều thứ, nhưng ở mức độ đơn giản, bạn có thể coi nó như một công tắc. Về mặt khái niệm bạn có thể nghĩ về nó giống như công tắc đèn của bạn trên tường, nhưng thay vì được điều khiển bằng cách di chuyển vật lý thì công tắc lại được điều khiển bởi sự thay đổi của dòng điện. Bạn có thể coi đèn sáng là 1 và đèn tắt là 0. Bây giờ bạn có thể bắt đầu kết hợp các công tắc này trong các bộ khác nhau để tạo ra các yếu tố logic khác nhau (như AND, OR, NOR, v.v.).

Tôi biết câu trả lời của tôi không chi tiết khủng khiếp, nhưng tôi hy vọng nó sẽ trả lời câu hỏi của bạn. Nếu bạn cần giải thích thêm, tôi sẽ sẵn sàng thêm chi tiết, chỉ không muốn áp đảo bạn.


Cảm ơn tất cả các câu trả lời tuyệt vời !! Khi đó, tôi có đúng không khi nghĩ ở mức độ đơn giản, bộ vi xử lý chạy ở một tốc độ xung nhịp nhất định và trên mỗi chu kỳ sẽ gửi một tập lệnh (điện áp liên quan đến các giá trị nhị phân?) Thông qua các bóng bán dẫn này, hoạt động như các cổng logic. Và các bóng bán dẫn sau đó tạo ra một đầu ra có liên quan dựa trên logic kết hợp (và, hoặc, NAND, v.v.)?
Matt

1
Đơn giản ... có. Có rất nhiều lớp trừu tượng ở đây. Thật khó để giải thích mọi thứ đang diễn ra ở đây trong một câu trả lời duy nhất vì nó cần rất nhiều lớp trừu tượng trước khi bạn có thể hiểu mọi thứ. Nó có thể dễ dàng mất một vài lớp trình độ đại học để dạy tất cả. Bạn có thể chỉ cần lấy mọi thứ khi chúng ở trên bề mặt hoặc chuẩn bị cho rất nhiều việc học.
Kellenjb

Cảm ơn @kellenjb, bạn đã thực sự hữu ích. Tôi được khuyến khích tìm hiểu thêm!
Matt

10

Câu trả lời ngắn gọn là nó không "chuyển đổi", các điện áp nhị phân (hoặc đại diện của nó). Giống như nếu bạn viết một số trên một số giấy, các dấu là một đại diện cho số đó, hoặc đếm trên bàn tính, các vị trí đá là một đại diện của một số.

Nhị phân là một hệ thống số, giống như số thập phân (hoặc bát phân, thập lục phân, v.v.)

Trong khi thập phân (cơ số 10) có 10 ký hiệu (0123456789) nhị phân (cơ sở 2) chỉ có hai (01)

Chuỗi 10 trong bất kỳ cơ sở nào có nghĩa là cơ sở cho quyền lực đầu tiên, vì vậy trong thập phân 10 có nghĩa là 10 ^ 1 = 10 và trong nhị phân có nghĩa là 2 ^ 1 = 2. Tiếp theo, 100 trong số thập phân có nghĩa là 10 ^ 2 = 100 và trong nhị phân có nghĩa là 2 ^ 2 = 4. Và cứ thế.

Để biểu diễn số thập phân bằng cách sử dụng điện tử sẽ có thể nhưng phức tạp, vì vậy họ đã chọn nhị phân có thể được biểu thị bằng 0 và 1 đơn giản (hoặc bật / tắt)
Có các biến thể về điều này, như hệ thống ternary (3 trạng thái) và tất nhiên là tính toán tương tự . Trước các bóng bán dẫn, đã có máy đục lỗ cơ học (google biết nhiều, một số cách đọc rất thú vị nếu bạn có thời gian)
Các máy tính kỹ thuật số nhị phân đầu tiên được chế tạo với các công tắc thực (rơle điện tử). Các Zuse Z3 (1941) là một ví dụ:

Zuse Z3

Sau khi ống chân không này được sử dụng thay cho rơle (có thể chuyển đổi nhanh hơn mà không có bộ phận cơ khí chuyển động), thực hiện chuyển đổi thay vì rơle. Các ENIAC là một ví dụ về một chiếc máy tính đầu thực hiện với ống chân không.

Sau đó, các bóng bán dẫn của thập niên 60 đã đến và ngay sau IC. Các bóng bán dẫn thực hiện chức năng tương tự như rơle / van có trong các máy trước đó, nhưng nhỏ hơn rất nhiều, nhanh hơn và tiêu thụ ít năng lượng hơn.

Lý thuyết thực tế đằng sau cách thức hoạt động của các mạch máy tính nhị phân cơ bản hoàn toàn không thay đổi, giống như chúng ta đã không thay đổi cách chúng ta thao túng các con số trong toán học - thuật toán cải thiện nhưng các quy tắc cơ bản vẫn giống nhau.

Vì vậy, nếu bạn biết cách hoạt động của nhị phân và bạn có một mạch đơn giản có khả năng lưu trữ 1 hoặc 0 dưới dạng hai mức điện áp khác nhau (ví dụ 5V và 0v) và các mạch đơn giản khác có thể thực hiện các chức năng logic đơn giản như AND và OR, thì bạn có thể kết hợp tất cả chúng để làm những thứ phức tạp hơn.
tất cả các mạch nhị phân này chỉ là các công tắc ở mức cơ bản nhất, bạn có thể đạt được điều tương tự với bất kỳ thứ gì có thể thay thế giữa hai trạng thái như cơ / rơle / van / bóng bán dẫn /?.

Để đưa ra một ví dụ về việc lưu trữ một số ở dạng nhị phân, giả sử chúng ta có 8 công tắc (loại nào không quan trọng)
A 1 được biểu thị bằng 5V và 0 được biểu thị bằng 0V.
Chúng tôi muốn lưu trữ số 123.

Trong phần thập phân, nó là 123 = (1 X 10 ^ 2) + (2 * 10 ^ 1) + (3 x 10 ^ 0)
Trong nhị phân, nó là 01111011 = (0 x 2 ^ 7) + (1 x 2 ^ 6) + (1 x 2 ^ 5) + (1 x 2 ^ 4) + (1 x 2 ^ 3) + (0 x 2 ^ 2) + (1 x 2 ^ 1) + (1 x 2 ^ 0)
Vậy tất cả chúng tôi làm là đặt các công tắc 0,1,3,4,5,6 đến 5V và các công tắc 7 và 2 thành 0V. Điều này "lưu trữ" số 123 trong nhị phân. Thiết lập này sẽ được gọi là "đăng ký".

Nếu bạn muốn biết thêm về cách các công tắc được kết hợp để tạo thành các mạch phức tạp hơn, hãy kiếm cho mình một cuốn sách hay về logic kỹ thuật số hoặc hỏi google.

Đây trang web dường như không phải là quá xấu để bắt đầu.


0

Chương trình bạn đang chạy đang sử dụng điện áp đại diện cho số và số không. Tất cả mọi thứ về phần kỹ thuật số đó là điện áp gần mặt đất hoặc gần với điện áp cung cấp (5V trong ví dụ của bạn). Khi bạn tải một thanh ghi bộ xử lý với 0xFF, giả sử bạn đang tạo 8 tín hiệu 5Volt riêng biệt ở đâu đó trong chip. Sau đó, khi bạn lưu giá trị thanh ghi đó vào một thanh ghi điều khiển có liên quan đến các cổng đầu ra, các chân đầu ra trên thiết bị, tín hiệu 5V trong thanh ghi bộ xử lý sẽ tạo ra các tín hiệu 5V khác được kết nối với các chân ngoài của thiết bị .


0

Các điện áp chỉ là một cách để đại diện cho nhị phân. Đó là một chuyển đổi khá hiệu quả và thực tế cho phép thực hiện logic nhị phân bằng cách sử dụng các cấu hình bóng bán dẫn khác nhau.

Cách logic nhị phân thường được triển khai bằng điện tử là sử dụng công nghệ CMOS ( http://en.wikipedia.org/wiki/CMOS ), trong đó hai bóng bán dẫn MOS được thiết lập trong một cặp bổ sung để tạo thành một cổng CMOS. Tuy nhiên, có các triển khai logic nhị phân điện tử khác, bằng cách sử dụng TTL ( http://en.wikipedia.org/wiki/Transistor Thẻtransistor_logic), hoặc chuyển tiếp. Nhưng bạn có thể sử dụng bất cứ thứ gì thực sự, giấy, dê robot bằng giấy: http://www.robives.com/c Ab / products_tags / logic_goats . Việc triển khai CMOS điện tử chỉ là một cách hiệu quả và thực tế.

Trong số các cổng CMOS đơn giản này, bạn có thể xây dựng các cổng logic phức tạp hơn: NAND và NOR, cổng tiêu chuẩn là KHÔNG, là các cổng cơ bản. Trong số này, bạn có thể xây dựng mọi thứ là logic nhị phân, bộ cộng, tệp đăng ký, bộ nhớ. Trong số này, bạn có thể xây dựng ALU, tất cả các bộ vi xử lý hoàn chỉnh.

Nếu bạn muốn biết thêm thông tin, bạn có thể đọc một cuốn sách về logic kỹ thuật số, tôi tình cờ sở hữu và thích cuốn sách này:

http://www.amazon.com/Digital-Systems-Principles-Appluggest-11th/dp/0135103827/ref=sr_1_1?s=books&ie=UTF8&qid=1326877355&sr=1-1

Một cách thực tế tuyệt vời để hiểu cách CPU được xây dựng chỉ là tự xây dựng một cái, sử dụng VHDL và một đồ họa. Bạn có thể nhận được các bảng phát triển FPGA giá rẻ và phần mềm thường miễn phí (đối với giấy phép bị hạn chế). Tôi có một vài bởi digilent khá phải chăng:

http://www.digilentinc.com/


-3

Nói một cách đơn giản, trong một phạm vi nhất định (thường là từ 5 đến 12 volt), bit đáng kể nhất là 0 trong nửa đầu của phạm vi đó và 1 trong phạm vi khác. Bit quan trọng nhất tiếp theo được tính bằng cách chia thêm một nửa và cứ thế cho đến khi tất cả các bit được tính toán.

Do đó, nhị phân chỉ là về việc tăng và giảm điện áp được đo định kỳ.

Đây là một ví dụ đơn giản. Trong phạm vi từ 1V đến 256V, hãy dịch (tương tự) 137 sang nhị phân (số) bằng mã giả:

// used this way: analogToNumeric(137, 256);
function convert(var number, var length) {
    if (number > length) { return(ERROR); }
    function convert(var half, var binary) {
        if (half < 2) { return(binary); }
        elseif (number < half) {
            return(convert((half / 2), append(binary, 0)));
        } else {
            return(convert((half / 2), append(binary, 1)));
        }
    } return(convert((length / 2), list()));
}
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.