giao thức i 2 s: hướng dẫn cuối cùng cho người mới

Photo of author

By Lisa chen

 

bạn đã bao giờ tự hỏi thiết bị âm thanh kỹ thuật số hoạt động như thế nào? Hoặc có lẽ bạn đã suy nghĩ về cách gửi âm thanh kỹ thuật số nối tiếp giữa các chip? câu trả lời cho câu hỏi của anh nằm trong giao thức i 2 s.

Do có rất nhiều thuật ngữ chuyên môn và viết tắt, rất dễ dàng để nghĩ rằng I2S là một lỗi in ấn của phiên bản I2C. nhưng đó là một thỏa thuận thực sự, một thỏa thuận đáng tin cậy.

Tương tự, hầu hết mọi người nhầm lẫn I2C với I2S, dẫn đến sự nhầm lẫn về hai giao thức này. may mắn thay, chúng tôi ở đây để giúp phân biệt hai điều này.

Vì vậy, trong bài viết này, bạn sẽ tìm hiểu tất cả mọi thứ về giao thức I2S và làm thế nào để sử dụng I2S để tạo ra các mạch điện tử.

nội dung

giao diện i2s là gì?

đặc điểm của i2s

chế độ hoạt động của giao thức i 2 s

I2S hỗ trợ Arduino và Raspberry Pi

I2S với I2C

trình chơi nhạc kỹ thuật số với i 2 s

giao diện i2s là gì?

 

các nhà sản xuất cần một cấu trúc giao tiếp chuẩn hóa để nâng cao tính linh hoạt của hệ thống. Vì vậy, NXP (trước đây là Philips Semiconductor) đã phát triển giao thức âm thanh mạch tích hợp nội bộ (I2S) bốn năm sau khi I2C nổi tiếng vào những năm 1980.

Ngày nay, mục đích chính của I2S là thúc đẩy sự phát triển của các thiết bị âm thanh kỹ thuật số thông qua các giao diện tiêu chuẩn.

Do vậy, bus I2S chỉ quản lý các tín hiệu âm thanh trên bất cứ IC âm thanh nào, trong khi truyền các tín hiệu khác, như điều khiển và mã phụ, một cách riêng biệt. ngoài ra, các bus i 2 s chỉ có ba dây, giúp hạn chế các chân có sẵn. những đường này bao gồm:

Dây dữ liệu nối tiếp

SCK (Dòng đồng hồ nối tiếp)

Chọn dòng chữ

 

đặc điểm của i2s

 

giao diện i 2 s hỗ trợ ba cấu hình: bộ chuyển, bộ nhận và bộ điều khiển.

xem hình dưới đây để biết được các hướng dẫn bố trí:

I2S điều khiển dữ liệu trên đường dây dữ liệu nối tiếp (SD), trong khi dòng WS tương tự như các kênh âm thanh bạn đang truyền (trái hoặc phải). ngoài ra, dòng cuối cùng (đường dây đồng hồ) có trách nhiệm chuyển đổi một chuỗi.

Bạn có thể sử dụng các bộ phận bộ điều khiển nhận, bộ phát hoặc bên thứ ba để tạo các tín hiệu WS và SCK như được trình bày ở đây. các bộ phận tạo ra các tín hiệu ws và sck là thiết bị chính. Việc xác định thiết bị điều khiển cho một hệ thống có nhiều bộ nhận và bộ phát rất khó khăn. vì vậy, các bus i 2 s điều khiển dữ liệu âm thanh kỹ thuật số giữa các ic khác nhau.

ngoài ra, ba đường dây của i 2 s có những đặc điểm khác nhau.

hãy nhìn vào những đặc điểm này.

 

dữ liệu nối tiếp (làm rõ)

 

trên đường dây này, i 2 s truyền dữ liệu theo phương thức ưu tiên msb. ngoài ra, không có độ dài chữ xác định giữa người gửi và người nhận. tuy nhiên, người gửi chỉ gửi chiều dài chữ, và người nhận thu thập nội dung cần thiết.

bạn cũng có thể nhập các bit dữ liệu mới dọc theo chiều xuống và xuống. nhưng điều quan trọng là đi lên dọc theo con số này. Vì vậy, cách tốt nhất để cung cấp đồng hồ cho các bit dữ liệu là đầu tiên xuống dọc theo đầu ra và sau đó lên dọc theo đầu ra.

Tuy nhiên, lưu ý rằng I2S không bao gồm các chu kỳ đồng hồ mới mà bạn thường nhận được giữa các từ. thay vào đó, msb của một từ được theo sau ngay sau lsb của từ trước đó.

Chọn từ (WS)

 

trên thực tế, các dòng lựa chọn là các tín hiệu được sử dụng cho việc lựa chọn kênh. nó điều khiển kênh mà máy phát tín hiệu chọn. vì vậy, bạn có thể có hai chế độ trên đường này, lô-gic cao và lô-gic thấp.

Đối với mức lô-gic thấp, nó có nghĩa là các từ bạn truyền trên WS là một phần của luồng dữ liệu kênh âm thanh bên trái. nếu âm thanh lô-gic cao, âm thanh kênh phải sẽ được hiển thị trên ws.

tuy nhiên, nếu bạn muốn kiểm soát việc xử lý dữ liệu của người nhận và người gửi, bạn nên biết điều này. chuyển đổi tín hiệu của ws nên là một chu kỳ đồng hồ trước khi giao thức hoàn thành một từ dữ liệu.

đồng hồ

 

Trong thực tế, dòng đồng hồ trên I2S không bao giờ ngừng chạy, và với tín hiệu này, I2S không chỉ định bất kỳ tốc độ dữ liệu tối đa. khi i 2 c ở chế độ slave, dây đồng hồ cũng là một tín hiệu đồng bộ hóa được cung cấp bởi một thiết bị bên ngoài. nó được tạo ra bởi các thành phần trong chế độ chính.

chế độ hoạt động của giao thức i 2 s

 

Dựa trên vị trí của SD cho WS và SCK, chúng tôi có ba chế độ hoạt động cho giao thức 12S.

Chúng bao gồm Right Alignment, Left Alignment, và Philips Standard

Chế độ hành động lề phải

 

các tiêu chuẩn này cũng được gọi là dạng thức nhật bản hoặc sony. Trong chế độ làm việc này, LSB của kênh trái là hiệu quả đầu tiên dọc theo SCK / BCLK tăng và sau đó dọc theo WS giảm. Ngược lại, LSB của kênh phải là khá hiệu quả trên các dãy SCK/BCLK trước khi WS tăng lên.

một điều khiển lề phải là người nhận phải quyết định trước độ dài chữ của dữ liệu được truyền.

Chế độ lề trái

 

Căn lề trái khác với căn lề phải. thực tế, nó sẽ không bị trì hoãn một phút vì vấn đề bclk.

sau khi ws có bất kỳ thay đổi nào, msb của cả hai kênh sẽ hoạt động dọc theo chiều cao chính của bclk/ sck. Do vậy, không giống với chế độ lề phải, nó không cần biết độ dài chữ trước khi truyền.

tiêu chuẩn phillips

 

trên thực tế, phillips là một biến thể đặc biệt của căn chỉnh bên trái. Thật thú vị, tiêu chuẩn thay đổi một bit đồng hồ từ chuẩn sang trái, dẫn đến một số sự chậm trễ và làm cho nó khác biệt.

Ở đây, hai kênh MSB chỉ có hiệu lực trên dọc theo BLK/SCK thứ hai sau khi WS có bất kỳ thay đổi nào.

lưu ý: hãy cẩn thận khi sử dụng chế độ hoạt động i 2 s. với việc căn lề phải và căn lề trái, chúng tôi có:

giao thức i 2 s: hướng dẫn cuối cùng cho người mới_1

Phillips làm việc hoàn toàn ngược lại.

 

I2S hỗ trợ Arduino và Raspberry Pi

 

Bạn có thể sử dụng giao diện I2S với Arduino và Raspberry Pi để xây dựng các dự án âm thanh kỹ thuật số.

Hãy xem nó hoạt động như thế nào:

i2s và aduino

 

Arduino hỗ trợ “library I2S”, cho phép bạn sử dụng I2S để lập trình các bo mạch Arduino dựa trên SAMD21. với bus i 2 s, bạn có thể truyền dữ liệu âm thanh bị hoãn giữa các thiết bị kỹ thuật số.

Ngoài ra, bạn có thể sử dụng giao thức I2S trên Arduino để tạo các dự án trình chơi âm thanh MIDI tức thì. nhấp vào đây để tìm hiểu thêm về thư viện i2s.

giao diện i 2 s

 

Nếu bạn thích bánh dâu tây, bạn có thể tham gia I2S.

Bạn có thể sử dụng bảng mở rộng “4 microns array” cho Raspberry Pi của bạn. Thêm bảng mở rộng này vào Pi của bạn sẽ cho phép bạn tạo các ứng dụng giọng nói và AI.

Ngoài ra, bạn có thể tạo ra một dự án giọng nói mạnh mẽ hơn, sử dụng các dịch vụ giọng nói khác nhau, bao gồm Google AI, Alexa của Amazon và nhiều hơn nữa.

I2S với I2C

 

mặc dù tên của họ rất giống nhau, nhưng họ hầu như không có điểm chung. Ví dụ, I2C không tập trung vào tốc độ dữ liệu cao, nó có khả năng bắt tay cho phép nó hoạt động tốt trong các mạng mạch tích hợp lớn.

Hơn nữa, các vấn đề khác nhau có thể xuất hiện trong môi trường giao tiếp I2C và sự phức tạp của chúng có thể ảnh hưởng tới nhiều công việc khác nhau.

Ngược lại, I2S có một thiết kế hiệu quả hơn để di chuyển một loại dữ liệu số cụ thể (I2S Audio). Hơn nữa, nó nhấn mạnh tốc độ truyền khi bạn sẽ thực hiện các nhiệm vụ như âm thanh hai kênh và truyền phân giải cao theo thời gian thực. các nhiệm vụ này đòi hỏi băng thông cao hơn hầu hết các nhiệm vụ liên lạc.

trình chơi nhạc kỹ thuật số với i 2 s

 

Dưới đây là cách tạo một máy nghe nhạc kỹ thuật số với ESP32 và I2S:

bước đầu tiên

 

đầu tiên, tìm vị trí để kết nối các kim i 2 s. Do không có một chân cụ thể được nhắc đến trong bảng dữ liệu ESP32, bạn có thể lắp I2S vào các chân 15, 2 và 4 và nối một cáp USB Micro.

Bước thứ hai

 

Tiếp theo, tải về mã ESP32 I2S. Mã này không chỉ đặt độ phân giải của bạn là 16 bit và tỷ lệ lấy mẫu là 44.1kHz, mà còn bắt đầu kết nối I2S của bạn. ngoài ra, bạn có thể thêm một vài dòng mã để trích xuất dữ liệu được thu thập qua màn hình nối tiếp.

Bước thứ ba

 

tải mã của bạn và mở màn hình nối tiếp của bạn. Sau đó, khi bạn huýt sáo hoặc chạm vào micro, bạn sẽ thấy phản hồi trên màn hình nối tiếp.

Bước thứ tư

 

Tiếp theo, các dây điện của bạn được hàn vào một bộ khuếch đại I2S và một tấm thẻ microSD. Cuối cùng, bạn có thể sử dụng thư viện ESP8266 để mã hóa I2S và SPI.

sau khi mã hóa, kết nối loa của bạn và cắm vào thẻ micro SD với tập tin âm thanh. lúc này, bạn có thể nghe thấy nó đang chơi.

làm tròn

 

giao thức i 2 s chuyển dữ liệu dạng số giữa các hệ thống âm thanh, các hệ điều khiển tín hiệu kỹ thuật số, các bộ lọc và các ics khác. thú vị thay, giao diện i 2 s được thiết kế cho âm thanh stereo, làm cho nó trở thành một giao thức hai kênh.

I2S giống SPI hơn I2C. Do vậy, các giải pháp SPI cho việc truyền dữ liệu một chiều có các cấu hình tương tự với I2C, bao gồm:

Một tín hiệu đồng hồ

một tín hiệu dữ liệu

dùng để đồng bộ hoá ký tự

Nếu bạn có bất kỳ câu hỏi nào, xin vui lòng liên hệ với chúng tôi, chúng tôi sẽ rất vui lòng giúp đỡ bạn.