Bộ chuyển đổi DAC (Digital-To-Analog) là một mạch điện tử lấy một số hoặc giá trị kỹ thuật số làm đầu vào và chuyển nó thành điện áp tương tự, mức điện áp tương ứng với số nhị phân trong thanh ghi đầu ra DAC. Điện áp đầu ra DAC thay đổi bất cứ khi nào bạn thay đổi giá trị thanh ghi đầu ra DAC và quá trình lấy mẫu này có thể được kích hoạt theo nhiều cách như chúng ta sẽ thấy sau đây.
DAC thực hiện hoạt động nghịch đảo của ADC, trong khi ADC (A/D) chuyển đổi điện áp tương tự sang dữ liệu kỹ thuật số, DAC (D/A) chuyển đổi số kỹ thuật số thành điện áp tương tự trên chân đầu ra.
STM32 DAC Brief
Trong STM32F746, module DAC là một bộ chuyển đổi tín hiệu số sang tương tự 12 bit. DAC có thể được cấu hình ở chế độ 8 hoặc 12 bit và có thể được sử dụng cùng với bộ điều khiển DMA. Ở chế độ 12 bit, dữ liệu có thể được căn trái hoặc phải. DAC có tới hai kênh đầu ra, mỗi kênh có bộ chuyển đổi riêng. Trong chế độ kênh DAC kép, các chuyển đổi có thể được thực hiện độc lập hoặc đồng thời khi cả hai kênh được nhóm lại với nhau cho các hoạt động cập nhật đồng bộ.
Chân DAC_OUTx có thể được sử dụng làm đầu vào / đầu ra mục đích chung (GPIO) khi đầu ra DAC bị ngắt kết nối khỏi bộ đệm đầu ra và được kết nối với các thiết bị ngoại vi trên chip. Một hiệu chuẩn riêng có thể được áp dụng cho mỗi kênh đầu ra DAC. Các kênh đầu ra DAC hỗ trợ chế độ công suất thấp.
DAC Features
– Một giao diện DAC, tối đa hai kênh đầu ra
– Căn chỉnh dữ liệu trái hoặc phải ở chế độ 12 bit
– Khả năng cập nhật đồng bộ hóa
– Tạo sóng nhiễu và sóng tam giác
– Kênh DAC kép cho các chuyển đổi độc lập hoặc đồng thời
– Khả năng DMA cho từng kênh bao gồm phát hiện lỗi chạy dưới DMA
– Các trình kích hoạt bên ngoài cho chuyển đổi
– Kênh đầu ra DAC chế độ đệm / không đệm
– Hiệu chuẩn bù đắp.
– Mỗi đầu ra DAC có thể được ngắt kết nối khỏi chân đầu ra DAC_OUTx
– Kết nối đầu ra DAC với các thiết bị ngoại vi trên chip
– Chế độ lấy mẫu và giữ để vận hành công suất thấp ở chế độ dừng
– Tham chiếu điện áp đầu vào, V REF +
Cấu hình trên STM32CubeMX
Bước 1: Mở STM32CubeMX và tạo dự án mới

Bước 2: Gõ tên tìm kiếm loại MCU cần lập trình và click đúp vào tên của nó

Bước 3: Cấu hình chế độ Debug cho chip là Serial Wire

Bước 4: Trong tab Clock Configuration, cấu hình tần số hoạt động cho chip là 216Mhz (max)

Bước 5: Để sử dụng DAC, trong mục Analog chọn DAC và Click chọn 1 trong 2 kênh DAC OUT1/OUT2.

Bước 6: Trong tab Project Manager, đặt tên cho Project, chọn đường dẫn lưu thư mục, chọn trình biên dịch là Keilc (MDK-ARM) và chọn phiên bản sử dụng

Bước 7: Trong mục Code Generator tích chọn Generate peripheral initialization.. Sau đó tiến hành GENERATE CODE.

Sau khi GENERATE CODE hoàn tất, click Open Project để mở trình biên dịch code Keilc.

Để sử dụng DAC, gọi hàm HAL_DAC_Start để cho phép bộ DAC hoạt động.

Biến dac_value được khai báo để lưu giá trị DAC xuất ra.

Hàm HAL_DAC_SetValue được sử dụng để xuất giá trị DAC, giá trị của biến dac_value sẽ nằm trong khoảng từ 0-4096 do bộ DAC là 12bit.

Sau khi hoàn thiện code, nhấn F7 hoặc click vào biểu tượng như hình dưới để biên dịch chương trình

Kết nối các chân trên header JTAG của KIT và mạch nạp ST-link V2 tương ứng như hình dưới
* Các chân nạp code cho STM32 của St-Link:
[1] 3.3V
[2] GND
[3] SWDIO
[4] SWCLK
nối tương ứng các chân này với các chân tương ứng trên KIT STM32F746I

Trước khi nạp chương trình cho KIT qua mạch nạp ST-LINK V2, chúng ta cần cấu hình một số chức năng. Thực hiện các bước như hình dưới để vào giao diện cài đặt mạch nạp.

Sau khi nhấn Setting, cửa sổ cấu hình mạch nạp hiện ra, Trong SW Device, ID CODE hiện ra có nghĩa mạch nạp đã kết nối với KIT thành công, chúng ta cấu hình tốc độ nạp ở mục Max Clock là tần số cao nhất, ở như hình là 4Mhz, Tick vào các mục Verify Code Download để Verify lại chương trình sau khi nạp và Tick vào Download to Flash để nạp chương trình vào bộ nhớ Flash chip.

Trong tab Flash Download tích chọn Reset and Run để chương trình chạy ngay sau khi nạp code xong, sau đó click OK để kết thúc cài đặt.

Click vào biểu tượng LOAD để tiến hành nạp code cho chip.

Chúc các bạn thành công!
Biên dịch: Mai Văn Ba
Để cập nhật tin tức công nghệ mới nhất và các sản phẩm của công ty AIoT JSC, vui lòng truy cập link: http://aiots.vn hoặc linhkienaiot.com