|
|
  |
Программный АЦП, помогите разобраться в принципе работы..... |
|
|
|
Dec 20 2015, 12:12
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 16-01-15
Пользователь №: 84 635

|
Понадобилось заняться таким извращением, как программный АЦП (тестовое задание для трудоустройства). Нашел такой вариант решения проблемы http://www.bytecraft.com/Low_Cost%2C_Low_S...mbedded_SystemsНо не могу разобраться как работает, даже после перевода статьи...уже и схему в протеусе собрал, в надежде там на осциллографе что-то увидеть, но ничего так и не понял...говорю сразу, что со схемотехникой плоховато, поэтому не судите
|
|
|
|
|
Dec 20 2015, 13:02
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 16-01-15
Пользователь №: 84 635

|
Цитата(Tanya @ Dec 20 2015, 15:29)  Там же написано - This mode is actually using the microcomputer as a high gain operational amplifier, that attempts to keep the voltage at the summing junction at the threshold of the low-to-high sense voltage of Pi. The voltage Vi through the input resistance Ri is directly balanced by the average current from the port pin Pf through Rf. Если плохо видно в симуляторе добавьте компаратор с гистерезисом на вход. Почитайте про сигма-дельта АЦП... Там просто говорится, что для расчета действующего значения нужно пользоваться формулой, которая содержит количество посланных и полученных единиц. А вот как фиксировать эти единицы не понятно... Цитата The value of Vmin occurs when Pi is always just at the sense threshold, and the processor is always feeding back a 1 to the Pf pin. At an input of Vmax a 0 is always being fed back from Pf. The A/D value is linear, scaled between Vmin and Vmax, and is determined from the ratio of 1's read on Pi (N1) to the total tests in a sample. The accuracy of the systems is a linear function of test sample size (N). Vi can be calculated from the following relationship:
Vi = (N1 / N) * (Vmax - Vmin)] Я правильно понял?
|
|
|
|
|
Dec 20 2015, 13:35
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(lavrik @ Dec 20 2015, 16:02)  Там просто говорится, что для расчета действующего значения нужно пользоваться формулой, которая содержит количество посланных и полученных единиц. А вот как фиксировать эти единицы не понятно... Ну... Придумайте... Цитата(lavrik @ Dec 20 2015, 16:02)  Я правильно понял? Вы привели цитату, но я не могу понять, поняли ли Вы ее смысл...
|
|
|
|
|
Dec 20 2015, 15:54
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 16-01-15
Пользователь №: 84 635

|
Цитата(Tanya @ Dec 20 2015, 16:35)  Ну... Придумайте...
Вы привели цитату, но я не могу понять, поняли ли Вы ее смысл... Хм, по условию задания, в используемом гипотетическом микроконтроллере есть SPI. Можно ли использовать для этого его следующим образом: настраивается в режиме Master, выводы MOSI и MISO замыкаются и контроллер начинает на MOSI посылать по восходящему фронту CLK число 0b11111111. Т.к. это эхо (пины входа и выхода замкнуты), то на MISO будет по нисходящему фронту приходить мгновенно ответ, в котором, как утверждает автор схемы, не все биты будут равны "1". И таких посылок должно быть такое количество, чтобы обеспечивалась достаточная точность, я правильно понимаю?
|
|
|
|
|
Dec 20 2015, 17:18
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 16-01-15
Пользователь №: 84 635

|
Цитата(Сергей Борщ @ Dec 20 2015, 19:30)  Так может вы не подходите для этой работы? Сначала вы принесли на форум тестовое задание, потом будете предлагать делать за вас и остальную работу? Уважаемый модератор! Я у меня были на выбор и другие задачи, но так сложилось что более реализуемой показалась эта. Я не думаю, что здесь нужно описывать всю ситуацию почему я пытаюсь куда-то трудоустроиться, почему моей квалификации недостаточно (потому что опыта можно сказать нет, а он приходит со стажем). Я всего лишь попросил совета, и не просто сижу и высиживаю время в ожидании ответа, а предлагаю свое понимание данного вопроса и прошу его подкорректировать, если оно не верно. Тем более что задача не особо тривиальная, ладно бы я тут не мог диодом поморгать или разобраться в полностью документированном интерфейсе.... Вы бы лучше подсказали, если знаете, а не ставили бы очевидные вопросы. Если бы я все понял - я бы не писал сюда.
|
|
|
|
Guest_TSerg_*
|
Dec 20 2015, 17:37
|
Guests

|
Форумы - это не место для получения образования (С)
|
|
|
|
|
Dec 20 2015, 17:47
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 16-01-15
Пользователь №: 84 635

|
Цитата(TSerg @ Dec 20 2015, 20:37)  Форумы - это не место для получения образования (С) А вы знаете как сделать АЦП на двух ножках контроллера? Если знаете - подскажите, не знаете - пройдите, пожалуйста, мимо. Если вас так беспокоит характер этого задания - рассматриваете его в вакууме. Просто возникла задача и ее нужно решить.
|
|
|
|
|
Dec 20 2015, 19:02
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 16-01-15
Пользователь №: 84 635

|
Цитата(Plain @ Dec 20 2015, 21:59)  Вообще-то, найденное Вами решение изначально было одноногим. Одноногим? Расскажите пожалуйста.
|
|
|
|
|
Dec 20 2015, 19:43
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 16-01-15
Пользователь №: 84 635

|
Цитата(Plain @ Dec 20 2015, 22:34)  Чего ж непонятного — МК попеременно подаёт на конденсатор ШИМ-пилу и ловит порог на нём. А, понял. Так ШИМ пилу я находил в сети, очень много годных, чуть ли не пошаговых инструкций. У меня по условию есть 8-битный параллельный порт (читай GPIO) и SPI. Вот на базе этого и надо сварганить.... Но за внимание к проблеме спасибо!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|