Полная версия этой страницы:
Вопрос по C8051F320
kamil_yaminov
Aug 22 2009, 08:40
Есть 12 канадов измерения АЦП, 16-ти разрядный, 42 килосемпла с секунду каждый, оцифрованные данные собираются и передаются по SPI в МК, который по USB передает их в компьютер (для чего надо около 8 -9 Мбит, то есть нужен полноценный FS USB). Плюс к тому, надо выдавать данные на два канала ЦАП, 150 "семплов" в секунду каждый. И еще надо другать ногами, всего 12 ног, частоты дрыгания тоже небольшие, я думаю порядка сотен герц. C 51x не работал ни разу, все больше с С2000 от TI, думал делать на нем, но при этом: нужно поставить микросхему интерфейса USB, и что расстраивает - нет толерантности к 5В (ладно, поставил-бы преобразователи уровня - но нельзя: каждый из 12 ног должен отдельно конфигурироваться как вход или выход, если выход - то как обычный, либо как ОК, и здесь 5В-толерантость облегчает жизнь, как мне кажется). Получается довольно громоздко. Наткнулся на C8051F320 - full-speed USB есть, к 5-ти вольтам тоже нормально отноится. Но с 51х ни разу не работвл, аот собственно и вопрос: хватит-ли производительности данного МК для решения данной задачи? Заранне спасибо.
Artem_Petrik
Aug 22 2009, 12:28
Давайте посмотрим: у этого проца максимум 25 MIPS. Вам нужно перекладывать около 8 мегабит из интерфейса в интерфейс. Таким образом, на байт получается около 25 тактов. Это не так уж и мало, но, все же, займет почти все время процессора, а у меня есть предположение, что процу еще что-то делать надо. Было бы DMA, задача значительно упростилась бы. Я не знаком с данным семейством МК, но бегло просмотрев datasheet, наличия DMA в них не увидел.
В общем, может и получится, если писать на асме и экономить каждый такт, но все же лучше взять другой проц. На мой взгляд ARM7 должен подойти. Там чуть выше частоты, и есть DMA. Правда у AT91SAM7 DMA есть у SPI, а у USB нет, а у филипса наоборот, есть только у USB. Ну и толерантность к 5 вольтам присутствует. Можно еще на Cortex M3 посмотреть.
kamil_yaminov
Aug 23 2009, 03:22
Ясно. Примерно так же и прикидывал. На ARM делать не хочется, так как во времени ограничен. Опыт работыс С2000 есть, отладочные средства и софт освоены, а переход на другой камень потребует времени для освоения как новой архитектуры, так и софта, поэтому пока буду строить на С2000.
Artem_Petrik
Aug 23 2009, 07:21
Цитата(kamil yaminov @ Aug 23 2009, 06:22)

Ясно. Примерно так же и прикидывал. На ARM делать не хочется, так как во времени ограничен. Опыт работыс С2000 есть, отладочные средства и софт освоены, а переход на другой камень потребует времени для освоения как новой архитектуры, так и софта, поэтому пока буду строить на С2000.
Ну, освоить ARM - полезное дело, чай не последний проект делаете. По идее не так уж и много времени на него уйдет. Врочем дело ваше.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.