Bộ so sánh STM32F0x1 (COMP) và ADC trên cùng một pin?


8

Tôi đang kết hợp một dự án tận dụng lợi thế của thiết bị ngoại vi so sánh trên vi điều khiển STM32F051. Tôi đã đọc trong tài liệu rằng để bộ so sánh hoạt động, pin đầu vào cần được cấu hình cho tương tự ... đó là thiết lập tương tự nếu bạn đang sử dụng pin làm đầu vào ADC.

Tôi có thể sử dụng một pin đơn lẻ, giả sử PA1, làm đầu vào và định cấu hình nó làm cả đầu vào so sánh cửa sổ và làm đầu vào ADC trên ADC_IN1 không?

Có bất kỳ vấn đề nào với cấu hình này như tiếng ồn bổ sung mà tôi nên xem xét không?

Bảng dữ liệu (trang 19)

Tài liệu tham khảo (trang 295)

Một tài liệu tham khảo thú vị, gợi ý rằng điều này nên có thể: nhập mô tả hình ảnh ở đây Lấy từ AN4232: Bắt đầu với các bộ so sánh tương tự cho loạt STM32F3


1
Bạn có thể liên kết đến các tài liệu liên quan? Bảng dữ liệu tôi tìm thấy không đề cập đến các bộ so sánh nhưng đây là một câu hỏi thú vị
David

Chắc chắn điều tôi muốn nói là STM32F0 * 5 * 1 ...
Daniel

Từ kinh nghiệm của tôi, nó có thể thực hiện được, nhưng tôi không thể nói chắc chắn và tôi nghi ngờ bạn sẽ tìm thấy thông tin này trong các nguồn chính thức. Điều tốt nhất bạn có thể làm IMO là thử nghiệm - lấy bảng hạt nhân STM32F07x khá rẻ (~ 10 USD) và thử nghiệm nó. Hoặc có được một bảng khám phá F051, chúng không đắt hơn nhiều. ST sử dụng các lõi IP ngoại vi giống nhau trong các MCU khác nhau, do đó bạn có thể mong đợi nó hoạt động tương tự giữa F07x và F051.
Jan Dorniak

@JanDorniak Vâng, đó sẽ là cách tốt nhất. Thật không may, tôi sẽ mất nhiều thời gian (vài ngày lộn xộn) để tìm ra điều này cho chắc chắn và tôi cần dành thời gian đó để chuẩn bị PCB cho sản xuất nguyên mẫu. Nếu không ai trở lại với bất cứ điều gì, cuối cùng tôi sẽ làm điều đó.
Daniel

1
@Daniel Một vấn đề tôi có thể nói với bạn chắc chắn là một số thiết bị ngoại vi được kết nối thông qua các chân - Tôi gặp rắc rối khi kết nối một đầu ra với tư cách là đầu vào COMP vì chúng được kết nối qua một pin mà tôi đã cố sử dụng làm đầu ra kỹ thuật số. Không hoạt động, may mắn thay tôi có một số chân miễn phí trên MCU. Nếu bạn muốn xem xét thì đó là PA4 trên L053
Jan Dorniak

Câu trả lời:


4

Điều này hoạt động, bạn sẽ nhận được số trở lại, cũng như ngắt. Tôi đã kiểm tra nó, tải về từ .

Độ chính xác và độ ổn định vẫn chưa được xác định. Nhưng được mô tả tốt trong các Ghi chú như được chỉ định bởi @Bence Kaulics trong chuỗi này (xem results.txt để biết thêm AppNote)

Tôi tin rằng nó sẽ ổn định vì những lý do sau.

a) The circuit diagram in RM0091 shows a direct connection from comparator to pin. i.e. it is indicated that the comparator cannot be disconnected with a switch or MUX, and will thus work as soon as the pin is assigned 'analog in'.

b) The comparator is NOT dependent on a 'Clock' to enable it (it is alow power device).

c) ST would not be able to make this level of change without assigning a new part number.


The good news is that one can continue to use the comparator for high-speed events such as over current and emergency stop etc whilst still using the ADC analog window events for other software control.

Điều này cũng hoạt động với DAC, tức là bạn có thể thiết lập toàn bộ nội bộ với DAC hoặc bên ngoài với DAC và một vài điện trở.

Chỉ cần nhìn vào mạch bạn sẽ sử dụng ADC song song với bộ so sánh, về cơ bản là một bộ khuếch đại. Như chúng ta biết đây là những thiết bị khuếch đại lớn có trở kháng rất cao. Trục trặc không phải là bạn của chúng tôi.

Bây giờ chúng tôi sẽ đập một cái nắp xả vào pin đó thường xuyên để cung cấp cho ADC.

Như chúng ta đã biết, chúng ta cần phải chồng chéo ADC và tốt nhất là từ chối lần đọc đầu tiên sau một sự kiện chuyển đổi mux để loại bỏ xiên từ và sang các kênh lân cận.

ADC trên STM có trở kháng đầu vào phần nào <50K // 5pF tùy thuộc vào cách chúng được sử dụng. (DM00039193.pdf pg 76ff)

Bảng 53 cho 400-> 50KOhm, đó là những gì tôi thấy nó đã trở lại một thời gian khi tôi hiệu chỉnh F373 ADC của mình.

PG 79 cho thấy mạch ADC.

PG 82 đưa ra một mô tả ngắn về chân so sánh, đọc cùng với mô tả chung về các chân tương tự ở trên (pg73ff)

Đặt nó song song với đầu vào bộ so sánh của bạn và ADC MUX và mô hình hóa nó trong gia vị. Nhớ sạc nắp ADC đến một điện áp ngẫu nhiên thường xuyên.

Bất cứ điều gì khác xảy ra trong mạch và phần mềm, bạn sẽ nhận được những trục trặc khá hợp lý trên đầu vào bộ so sánh của mình. BAD IDEA, ngay cả khi bạn kết nối pin với một người theo dõi trở kháng thấp và nắp tách rời (trên đường di chuyển của đầu vào so sánh ????).

Mũ được sử dụng bởi ADC là kẻ giết người. Hy vọng các thiết bị trong tương lai sẽ lấy mẫu bằng cách sử dụng bộ theo dõi / bộ cách ly nội bộ trên cả ADC và bộ so sánh. Đây có thể là những tính năng không có giấy tờ (không có khả năng do nhiễu xuyên âm mux).

Giống như tôi, tôi nghĩ rằng chúng ta có liên quan đến khía cạnh kỹ thuật số của những thứ mà khi chúng ta chuyển sang analog và hybrid chúng ta quên đi những điều cơ bản.

Làm thế nào để đo dòng điện nhỏ sử dụng dòng điện để chuyển đổi điện áp? là một cuộc thảo luận tôi đã có với người khác ngày hôm qua. Tôi biết câu trả lời khiến tôi tự mình phạm lỗi. Ngay cả ở mức 3V tốt nhất thành 50K, chúng tôi vẫn nhận được AVO là 16K / volt. Lần cuối tôi sử dụng AVO / vạn năng như vậy là khi nào?

Tất cả những gì đang nói, nhìn vào mạch của F373 cho thấy ST và ARM dường như có ý định có thể có được kết quả khả thi từ cả bộ so sánh và adc được sử dụng đồng thời trong một thiết bị hỗn hợp. Việc bổ sung các opamp trong loạt 150 và 300 cho thấy manh mối về các yêu cầu cách ly trở kháng.

Tôi chắc chắn rằng ai đó thông minh hơn tôi sẽ có thể thiết kế lại môi trường mà các kết nối nội bộ này được thiết kế. Tôi sẽ nghĩ rằng ô tô hoặc HVAC .... biến tần và FOC. Thư viện FOC có thể cung cấp cái nhìn sâu sắc có giá trị.

Trừ khi bạn đang xây dựng một công cụ tốc độ cao, độ chính xác cao, việc sử dụng như vậy có thể đủ ổn định để được sử dụng thực tế (trong các cảnh báo ở trên). Nó chắc chắn sẽ tiết kiệm rất nhiều mạch bên ngoài. Kiểm tra nghiêm ngặt ở tốc độ cao có lẽ tốt nhất là một bài tập cho học sinh (Tempt me to learning).

Giải pháp tại đây .

Có vẻ như thư viện HAL ADC bị hỏng đôi chút đối với DMA đa kênh. Tôi đã đăng trên trang web STM để có câu trả lời. Cách giải quyết: -

a) IRQ cả hai ADC

b) Thăm dò cả ADC

c) DMA một kênh và thăm dò kênh khác

d) Khởi tạo các thanh ghi mức thấp bằng tay

Đây là một cảnh báo khác cho giải pháp mà cả hai bộ so sánh được sử dụng, cho đến khi tìm thấy giải pháp tốt hơn.


Trên STM32F4Discovery ADC2 và ADC3 chỉ hoạt động tốt với HAL. Tôi đang sử dụng DMA2 Stream1 với ADC3 và DMA2 Stream2 với ADC2, có hai kênh được cấu hình trên cả hai ADC. Chế độ DMA là hình tròn. Ngoài ra với HAL trên STM32F3, tôi đang sử dụng bốn ADC khác nhau cùng với DMA, 3 kênh trên DMA2 và 1 một DMA1. Điều gì là sai khi bạn cố gắng sử dụng đa Gordl DMA?
Bence Kaulics

@Bence - Tôi đã làm việc với F1, F3 và F4 trong cấu hình ADC-DMA đa kênh - họ sử dụng một cơ chế khác để thêm kênh vào DMA. Các kênh có thể được quét trong bất kỳ trình tự. Sê-ri STM32L0 có cấu trúc bên trong khác, các kênh được tự động ưu tiên theo số kênh. Có các cấu trúc và các cuộc gọi khác nhau để thiết lập nó. Mỗi kênh chỉ có thể xuất hiện một lần trong quá trình quét.
ChrisR

Tôi thấy, và thứ tự ưu tiên này là cố định?
Bence Kaulics

Cảm ơn bạn đã trả lời và nỗ lực để trực tiếp xác nhận rằng điều này hoạt động, cũng như tìm kiếm nghiên cứu hỗ trợ. Nhiều đánh giá cao!
Daniel

1
@Bence - Có, mức độ ưu tiên và thứ tự được cố định - đi theo số kênh. Một điều tuyệt vời là bạn có thể overample và trung bình trong quá trình quét. thấy RM liên kết ở trên, nó đáng để đọc. Giống như nhiều người, tôi hơi buồn khi các thư viện HAL không (và không thể) minh bạch trên tất cả các thiết bị ARM.
ChrisR

4

Thiết lập phù hợp nhất tôi có thể tìm thấy là như sau, từ Sử dụng bộ so sánh tương tự STM32F05xx trong các trường hợp ứng dụng , ( AN4112 ), trang 4:

nhập mô tả hình ảnh ở đây

Nó nói rằng:

Hình 1 cho thấy cách kết nối đầu ra cảm biến (cảm biến nhiệt độ, cảm biến áp suất, đầu dò hồng ngoại nhiệt điện, cảm biến photodiode) với thiết bị STM32F05xx trong ứng dụng giám sát điện áp tương tự bằng cách sử dụng bộ so sánh 2 (COMP2). COMP2 giám sát điện áp tương tự ở chế độ Dừng trong khi ADC đo nó ở chế độ Run.

Ở đây, ADC và COMP hoạt động luân phiên nhưng tôi nghĩ cả hai đều được cấu hình cùng một lúc. Nếu chúng ta tiếp tục trong tài liệu, có một sơ đồ khối về cấu hình COMP.

nhập mô tả hình ảnh ở đây

Dựa trên hình ảnh này, tôi nghĩ rằng ADC và COMP chia sẻ cùng một Kênh ADC, điểm khác biệt duy nhất là số Nguồn Ngưỡng tương tự được bật .

Văn bản dưới Hình 5 trong câu hỏi nói rằng

đầu vào bộ so sánh là một kênh ADC

có thể giống như ADC_IN1.

Mục đích của toàn bộ cấu hình này là để tiết kiệm năng lượng, COMP kích hoạt các thay đổi trạng thái của MCU (STOP <-> RUN). Vì vậy, khi đầu vào dưới một ngưỡng nhất định, MCU và ADC sẽ tắt và chỉ có bộ so sánh hoạt động, và khi đầu vào vượt quá ngưỡng, MCU và ADC đánh thức ADC đo điện áp đầu vào. Nhưng nếu đầu vào giảm xuống dưới ngưỡng một lần nữa, COMP sẽ gửi MCU sang trạng thái STOP.

nhập mô tả hình ảnh ở đây

Đó là một cách sử dụng chúng cùng nhau, tôi hy vọng điều này sẽ đưa câu hỏi về phía trước.


Cảm ơn bạn vì câu trả lời. Nó đã thêm khá nhiều vào các cuộc thảo luận. Cuối cùng, tôi quyết định trao tiền thưởng cho một người có thể xác nhận câu trả lời trực tiếp, nhưng điều này có ý kiến ​​của tôi và được đánh giá rất cao!
Daniel

Đó là một câu hỏi rất thú vị, tôi rất vui khi tham gia. Hơn nữa, tôi đồng ý với việc Chris đã nhận được phần thưởng :). Anh ấy đã làm rất nhiều việc, không tốn thời gian và công sức.
Bence Kaulics

3

Tôi nghĩ bạn nên hỏi trên diễn đàn STM. Ngoài ra còn có (STM32F1) UART RX và TIMx trên cùng một pin, cả hai đầu vào, nhưng bạn không thể sử dụng chúng cùng nhau, như phát hiện kết thúc ngắt hẹn giờ truyền. Thay vào đó, một pin TIMx khác phải được kết nối song song để có tính năng ngắt UART RX và hẹn giờ. Tôi đoán chỉ một chức năng có thể được kích hoạt cùng một lúc.
Hãy thử tải xuống MxCube và xem cấu hình nào có thể được xây dựng.


Đó là một điểm tốt. Tôi có nó, tôi nên xem nếu nó cho phép nó. Nhưng ngay cả khi điều đó không xảy ra, điều đó không nhất thiết có nghĩa là bạn không thể: /
Daniel

Điều đó có nghĩa là, tôi ước rằng tài liệu này tốt hơn và toàn diện hơn và tôi có thể tin tưởng vào bất kỳ câu trả lời nào khác ngoài "Tôi đã thử một lần và nó không hoạt động"
Daniel

@Daniel Bạn nói đúng, tôi nghĩ câu trả lời cuối cùng sẽ cung cấp cho bạn MCU khi bạn sẽ thử.
Marko Buršič
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.