Thể loại: Bài viết nổi bật » Điện tử thực hành
Số lượt xem: 49294
Bình luận về bài viết: 0

Làm thế nào để chuyển đổi tín hiệu tương tự sang kỹ thuật số

 

Trong điện tử, tín hiệu được chia thành: tương tự, rời rạc và kỹ thuật số. Để bắt đầu, hầu hết những gì chúng ta cảm thấy, nhìn, nghe, đối với hầu hết các phần, là một tín hiệu tương tự, và những gì bộ xử lý máy tính nhìn thấy là tín hiệu kỹ thuật số. Nó không có âm thanh rất rõ ràng, vì vậy hãy giải quyết các định nghĩa này và cách một loại tín hiệu được chuyển đổi sang loại khác.

Làm thế nào để chuyển đổi tín hiệu tương tự sang kỹ thuật số

Các loại tín hiệu

Trong biểu diễn điện, một tín hiệu tương tự, đánh giá theo tên của nó, là một tín hiệu tương tự của một giá trị thực. Ví dụ, bạn cảm thấy nhiệt độ của môi trường liên tục, trong suốt cuộc đời của bạn. Không có nghỉ ngơi. Đồng thời, bạn không chỉ cảm nhận được hai cấp độ của hot hot và lạnh, mà còn vô số cảm giác mô tả giá trị này.

Đối với một người, thì cảm lạnh lạnh có thể khác, đó là sự mát mẻ của mùa thu và sương giá mùa đông, và sương giá nhẹ, nhưng không phải lúc nào, cảm lạnh lạnh là nhiệt độ âm, giống như nhiệt độ ấm áp không phải lúc nào cũng là nhiệt độ dương.

Các loại tín hiệu

Theo sau đó, tín hiệu tương tự có hai tính năng:

1. Sự liên tục trong thời gian.

2. Số lượng giá trị tín hiệu có xu hướng vô cùng, nghĩa là Một tín hiệu tương tự không thể được chia chính xác thành các phần hoặc được hiệu chỉnh bằng cách chia tỷ lệ thành các phần cụ thể. Các phương pháp đo lường - dựa trên đơn vị đo lường, và độ chính xác của chúng chỉ phụ thuộc vào giá phân chia của thang đo, nó càng nhỏ thì phép đo càng chính xác.


Tín hiệu rời rạc - đây là các tín hiệu là một chuỗi các báo cáo hoặc các phép đo có độ lớn bất kỳ. Các phép đo của các tín hiệu như vậy không liên tục, nhưng định kỳ.

Tôi sẽ cố gắng giải thích. Nếu bạn đã cài đặt một nhiệt kế ở đâu đó, nó sẽ đo một giá trị tương tự - điều này diễn ra ở trên. Nhưng bạn, thực sự làm theo lời khai của anh ấy, nhận được thông tin rời rạc. Rời rạc có nghĩa là riêng biệt.

Ví dụ, bạn thức dậy và phát hiện ra nhiệt kế có bao nhiêu độ, lần tiếp theo bạn nhìn vào nhiệt kế vào buổi trưa và lần thứ ba vào buổi tối. Bạn không biết nhiệt độ thay đổi nhanh như thế nào, hoặc bằng một cú nhảy mạnh, bạn chỉ biết dữ liệu tại thời điểm mà bạn quan sát thấy.


Tín hiệu số Là một tập hợp các cấp độ, loại 1 và 0, cao và thấp, có hay không. Độ sâu phản ánh thông tin ở dạng kỹ thuật số bị giới hạn bởi độ sâu bit của thiết bị kỹ thuật số (bộ logic, vi điều khiển, bộ xử lý, v.v.) Hóa ra nó rất lý tưởng để lưu trữ dữ liệu Boolean. Một ví dụ, chúng ta có thể trích dẫn những điều sau đây, để lưu trữ dữ liệu, chẳng hạn như Ngày ăn vặt và Đêm Đêm, một chút thông tin là đủ.


Bit - đây là giá trị tối thiểu của biểu diễn thông tin ở dạng kỹ thuật số, nó chỉ có thể lưu trữ hai loại giá trị: 1 (đơn vị logic, mức cao) hoặc 0 (mức 0 logic, mức thấp).

Trong điện tử, một chút thông tin được biểu diễn dưới dạng mức điện áp thấp (gần 0) và mức điện áp cao (tùy thuộc vào thiết bị cụ thể, thường trùng với điện áp cung cấp của một nút kỹ thuật số nhất định, các giá trị điển hình là 1.7, 3.3. 5V, 15V).

Tín hiệu số

Tất cả các giá trị trung gian giữa mức thấp và mức cao được chấp nhận là một vùng chuyển tiếp và có thể không có giá trị cụ thể, tùy thuộc vào mạch, cả thiết bị nói chung và mạch bên trong của vi điều khiển (hoặc bất kỳ thiết bị kỹ thuật số nào khác) có thể có mức chuyển tiếp khác nhau, ví dụ, cho 5 -volt logic, các giá trị điện áp từ 0 đến 0,8V có thể được lấy bằng 0 và từ 2V đến 5V là một đơn vị, trong khi khoảng cách giữa 0,8 và 2V là một vùng không xác định, trên thực tế, nó giúp tách 0 khỏi sự thống nhất.

Các giá trị chính xác và mạnh mẽ hơn mà bạn cần lưu trữ, bạn càng cần nhiều bit, chúng tôi đưa ra một bảng ví dụ với màn hình kỹ thuật số gồm bốn giá trị của thời gian trong ngày:

Đêm - Sáng - Ngày - Tối

Đối với điều này, chúng ta cần 2 bit:

Ví dụ với màn hình kỹ thuật số của bốn giá trị thời gian trong ngày

Chuyển đổi tương tự sang kỹ thuật số

Trong trường hợp chung, chuyển đổi tương tự sang số là quá trình chuyển đổi một đại lượng vật lý thành giá trị kỹ thuật số. Giá trị kỹ thuật số là một tập hợp các đơn vị và số không được cảm nhận bởi thiết bị xử lý.

Một sự chuyển đổi như vậy là cần thiết cho sự tương tác của công nghệ kỹ thuật số với môi trường.

Do tín hiệu điện tương tự lặp lại tín hiệu đầu vào ở dạng của nó, nó không thể được ghi lại bằng kỹ thuật số vì nó là vì vì nó có số lượng giá trị vô hạn. Một ví dụ là quá trình ghi âm. Nó ở dạng ban đầu của nó trông như thế này:

Âm thanh chính

Nó là tổng của sóng với tần số khác nhau. Mà khi phân tách theo tần số (để biết thêm chi tiết, hãy xem các biến đổi Fourier), bằng cách này hay cách khác, có thể được đưa đến gần hơn với một hình ảnh tương tự:

Sóng âm

Bây giờ hãy thử trình bày nó dưới dạng một bộ kiểu 111100101010100, nó khá khó, phải không?

Một ví dụ khác về sự cần thiết phải chuyển đổi một đại lượng tương tự sang một số kỹ thuật số là phép đo của nó: nhiệt kế điện tử, vôn kế, ampe kế và các dụng cụ đo khác tương tác với các đại lượng tương tự.



Quá trình chuyển đổi diễn ra như thế nào?

Đầu tiên, hãy nhìn vào sơ đồ chuyển đổi điển hình của tín hiệu tương tự sang kỹ thuật số và ngược lại. Sau này chúng ta sẽ quay lại với cô ấy.

Chuyển đổi tương tự sang kỹ thuật số

Trên thực tế, đây là một quá trình phức tạp, bao gồm hai giai đoạn chính:

1. Phân biệt tín hiệu.

2. Định lượng theo cấp độ.

Sự rời rạc của tín hiệu là việc xác định các khoảng thời gian mà tín hiệu được đo. Các khoảng trống này càng ngắn, phép đo càng chính xác. Thời gian lấy mẫu (T) là khoảng thời gian từ khi bắt đầu đọc dữ liệu đến khi kết thúc. Tỷ lệ lấy mẫu (f) là đối ứng của:

fd = 1 / T

Sau khi đọc tín hiệu, nó được xử lý và lưu trữ trong bộ nhớ.

Nó chỉ ra rằng trong thời gian đọc và xử lý tín hiệu, nó có thể thay đổi, do đó, giá trị đo được bị biến dạng. Có một định lý Kotelnikov như vậy và quy tắc sau tuân theo nó:

Tần số lấy mẫu phải lớn hơn ít nhất 2 lần so với tần số của tín hiệu được lấy mẫu.

Đây là một ảnh chụp màn hình từ Wikipedia, với một đoạn trích từ định lý.

Định lý Kotelnikov

Để xác định giá trị số, lượng tử hóa theo cấp độ là cần thiết. Lượng tử là một phạm vi nhất định của các giá trị đo, trung bình giảm xuống một số nhất định.

X1 ... X2 = Xy

Tức là tín hiệu từ X1 đến X2, có điều kiện tương đương với một giá trị cụ thể của Xy. Điều này giống với giá phân chia của một con trỏ mét. Khi bạn đọc bài, bạn thường đánh đồng chúng với điểm gần nhất trên thang đo của nhạc cụ.

Vì vậy, với lượng tử hóa theo cấp độ, lượng tử càng nhiều, số đo chính xác hơn và số thập phân càng nhiều (phần trăm, phần nghìn, v.v.) chúng có thể chứa.

Chính xác hơn, số lượng vị trí thập phân được xác định bằng độ phân giải của ADC.

Mức độ lượng tử hóa

Hình ảnh cho thấy quá trình lượng tử hóa tín hiệu bằng một bit thông tin, như tôi đã mô tả ở trên, khi vượt quá giới hạn nhất định, giá trị mức cao được chấp nhận.

Bên phải là lượng tử hóa tín hiệu và bản ghi dưới dạng hai bit dữ liệu. Như bạn có thể thấy, đoạn tín hiệu này đã được chia thành bốn giá trị. Kết quả là, tín hiệu tương tự mượt mà đã chuyển thành tín hiệu "bước" kỹ thuật số.

Số lượng mức độ lượng tử hóa được xác định theo công thức:

Số lượng mức độ lượng tử hóa

Trong đó n là số bit, N là mức lượng tử hóa.

Dưới đây là một ví dụ về tín hiệu được chia thành số lượng tử lớn hơn:

Lượng tử hóa ADC

Điều này cho thấy rất rõ rằng các giá trị tín hiệu được lấy càng thường xuyên (tần số lấy mẫu càng cao) thì nó càng được đo chính xác.

Chuyển đổi tín hiệu tương tự sang kỹ thuật số

Hình ảnh này cho thấy việc chuyển đổi tín hiệu tương tự sang dạng kỹ thuật số và ở bên trái của trục tọa độ (trục dọc) là bản ghi kỹ thuật số 8 bit.


Bộ chuyển đổi tương tự sang số

ADC hoặc bộ chuyển đổi tương tự sang số có thể được triển khai như một thiết bị riêng biệt hoặc được tích hợp vào vi điều khiển.

Trước đây, các bộ vi điều khiển, ví dụ, họ MCS-51, không chứa ADC, một vi mạch ngoài được sử dụng cho việc này và cần phải viết một chương trình con để xử lý các giá trị của IC bên ngoài.

Đầu vào tương tự trên bảng Arduino

Bây giờ chúng có trong hầu hết các bộ vi điều khiển hiện đại, ví dụ như AVR AtMEGA328, là cơ sở phổ biến nhất bảng mạch Arduino, nó được tích hợp vào MK. Trong Arduino, việc đọc dữ liệu tương tự rất đơn giản với lệnh AnalogRead (). Mặc dù bộ vi xử lý, được cài đặt trong cùng một Raspberry PI không kém phần phổ biến, nhưng không có nó, vì vậy không phải mọi thứ đều đơn giản như vậy.

Trên thực tế, có một số lượng lớn các tùy chọn cho bộ chuyển đổi tương tự sang số, mỗi bộ đều có nhược điểm và ưu điểm riêng. Mô tả mà trong bài viết này không có nhiều ý nghĩa, vì đây là một lượng lớn tài liệu. Chỉ xem xét cấu trúc chung của một số trong số họ.

Tùy chọn ADC được cấp bằng sáng chế lâu đời nhất là bằng sáng chế của Paul M. Rainey, Hệ thống điện báo của Fac Facileile, hồi U.S. Bằng sáng chế 1.608.527, Nộp ngày 20 tháng 7 năm 1921, Phát hành ngày 30 tháng 11 năm 1926. Đây là một ADC chuyển đổi trực tiếp 5 bit. Từ tên của bằng sáng chế, người ta nghĩ rằng việc sử dụng thiết bị này được kết nối với việc truyền dữ liệu qua điện báo.

ADC đầu tiên

Nếu chúng ta nói về ADC hiện đại của chuyển đổi trực tiếp, chúng có sơ đồ sau:

Mạch ADC

Điều này cho thấy rằng đầu vào là một chuỗi từ bộ so sánhphát ra tín hiệu của chúng khi chúng vượt qua một số tín hiệu ngưỡng. Đây là độ sâu bit và lượng tử hóa. Bất cứ ai thậm chí một chút mạnh mẽ trong mạch, đã thấy sự thật hiển nhiên này.

Ai không mạnh thì mạch đầu vào hoạt động theo cách này:

Một tín hiệu tương tự là đầu vào cho đầu vào của + +, tất cả cùng một lúc. Các đầu ra với chỉ định là - Nhận nhận điện áp tham chiếu, được phân tách bằng cách sử dụng một chuỗi điện trở (bộ chia điện trở) thành một số điện áp tham chiếu. Ví dụ: một chuỗi cho chuỗi này trông giống như tỷ lệ này:

Urefi = (1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16) * Uref

Trong ngoặc, dấu phẩy cho biết phần nào của tổng điện áp tham chiếu Uref được cung cấp cho đầu vào của mỗi điện áp đầu vào.

Tức là mỗi phần tử có hai đầu vào khi điện áp đầu vào được ký «+» vượt quá điện áp đầu vào với dấu hiệu - -, một đơn vị logic xuất hiện ở đầu ra của nó. Khi điện áp ở đầu vào dương (không đảo) nhỏ hơn ở đầu vào âm (đảo ngược), thì đầu ra bằng không.

So sánh

Điện áp được chia để điện áp đầu vào được chia thành số chữ số mong muốn. Khi điện áp ở đầu vào đạt đến đầu ra của phần tử tương ứng, một tín hiệu xuất hiện, mạch xử lý sẽ xuất ra tín hiệu chính xác của nhà cung cấp ở dạng kỹ thuật số.

Bộ so sánh này tốt ở tốc độ xử lý dữ liệu, tất cả các yếu tố của mạch đầu vào được kích hoạt song song, độ trễ chính của loại ADC này được hình thành từ độ trễ của 1 bộ so sánh (chúng được kích hoạt đồng thời) và độ trễ là bộ mã hóa.

Tuy nhiên, có một nhược điểm rất lớn của các mạch song song - đây là nhu cầu cần một số lượng lớn các bộ so sánh để thu được các ADC có độ phân giải cao. Để có được, ví dụ, 8 chữ số, bạn cần 2 ^ 8 bộ so sánh, và số này có tới 256 chữ. Đối với một mười-bit (trong ADC 10-bit ADC, nhân tiện, nhưng thuộc loại khác), bạn cần 1024 bộ so sánh. Đánh giá cho chính bạn sự phù hợp của một lựa chọn điều trị như vậy, và nơi có thể cần thiết.

Có các loại ADC khác:

  • xấp xỉ liên tiếp;

  • ADC sigma đồng bằng.

Kết luận

Chuyển đổi tín hiệu analog sang kỹ thuật số là cần thiết để đọc các tham số từ các cảm biến analog. Có một loại cảm biến kỹ thuật số riêng biệt, chúng là các mạch tích hợp, ví dụ DS18b20 - ở đầu ra của nó đã có tín hiệu kỹ thuật số và nó có thể được xử lý bởi bất kỳ bộ vi điều khiển hoặc bộ vi xử lý nào mà không cần ADC, hoặc cảm biến analog trên bo mạch đã có bộ chuyển đổi riêng. Mỗi loại cảm biến đều có ưu và nhược điểm, chẳng hạn như khả năng chống nhiễu và lỗi đo.

Kiến thức về các nguyên tắc chuyển đổi là bắt buộc đối với mọi người làm việc với vi điều khiển, bởi vì thậm chí không phải mọi hệ thống hiện đại đều có bộ chuyển đổi như vậy, bạn phải sử dụng các vi mạch ngoài. Ví dụ: chúng ta có thể trích dẫn một bảng như vậy được thiết kế riêng cho đầu nối GPIO Raspberry PI với ADC chính xác trên ADS1256.

Xem thêm tại electro-vi.tomathouse.com:

  • Kết nối cảm biến analog với Arduino, đọc cảm biến
  • Sự khác biệt giữa cảm biến analog và kỹ thuật số là gì
  • Tín hiệu số và tín hiệu tương tự: những điểm tương đồng và khác biệt, ưu điểm và nhược điểm ...
  • Các cảm biến phổ biến nhất cho Arduino
  • Kích hoạt Schmitt - cái nhìn tổng quát

  •