как получить доступ к форме передачи данных io в память на ARM9 s3c2440 с DMA или без DMA

Я хочу передать 8-битные параллельные данные из ввода-вывода в память, данные поступают очень быстро со скоростью примерно 5 МГц, я использую встроенный linux на базе комплекта ARM9 дружественной рукой, которая использует процессор S3C2440 (400 МГц), может любой запрос тела скажите мне, с чего начать, мои данные - это видеосигнал, который исходит от adc. Я прочитал в Интернете, что я могу сделать это с помощью DMA, но мне нужно начать ...


person user960951    schedule 24.02.2012    source источник
comment
«Я читал в Интернете, что могу сделать это с помощью DMA» — ссылка? IIRC, встроенный АЦП недоступен в качестве источника запросов DMA, поэтому вам, вероятно, понадобится обработчик FIQ для очистки 10-битного АЦП со скоростью 500 KSPS.   -  person Martin James    schedule 24.02.2012
comment
Я пытаюсь следовать технологии, используемой в этой ссылке google.com/ Я хочу получить данные изображения с датчика так же, как это используется в этом патенте, вы можете увидеть диаграмму 3, на которой изображение поступает от cpld Я хочу следовать этой топологии, мое изображение поступает так же, как и с устройства обработки изображений, на очень высокой скорости.   -  person user960951    schedule 25.02.2012
comment
Что бы еще ни было нового и полезного в этом изобретении, «8-битный параллельный сигнал, передаваемый по типу прямого доступа к памяти указанному процессору» позволил бы любому использовать изобретение, не нарушая патент, просто не используя прямой доступ к памяти — это было бы хорошо. защита от патентных исков. Более того, заявка на патент, считывание штрих-кода, не требует удаленного прямого доступа к памяти — полоса пропускания слишком мала. Хех - в патенте указан DMA, но он не нужен, вам нужен DMA, но вы не можете его использовать.   -  person Martin James    schedule 25.02.2012


Ответы (2)


Забудьте о DMA на этом устройстве. АЦП недоступен в качестве источника прямого доступа к памяти. Одна из причин этого заключается в том, что DMA полезен только для передачи нескольких байтов/слов/чего угодно — накладные расходы на настройку, запуск DMA и обработку прерывания OnCompletion делают его бессмысленным для случайной передачи одного элемента. Ваш АЦП не имеет буферизации, только один выходной регистр с 10 сиг. биты.

Используйте обработчик FIQ для извлечения результата ADC. То, как вы буферизуете вывод и сигнализируете о его дальнейшей обработке, зависит от вас и среды драйверов Linux.

person Martin James    schedule 25.02.2012
comment
привет, спасибо за предложение, которое вы хотите сказать, что с помощью FIQ я могу получить данные с датчика в память. Позвольте мне объяснить мою проблему. - person user960951; 28.02.2012
comment
если вы хотите сделать что-то подобное, взгляните на эти статьи - person user960951; 12.05.2012