Свежие обсуждения
Микроконтроллеры

Как определять скорость передачи на контроллере pic

1 4

Как нам извесно наш любимый контроллер PIC16F84A разрядность его 8 ми разрядный также имеем тактовую частоту в среднем 4 МГц так вот у нас извесно частота тактирования процессора и разрядность . Вопрос как определяем скорость передачи данных по порту контроллера в паралельном режиме.

 

Ну как это делать ?

 

Частота тактовая - 4 МГц. Команда выполняется за 4 такта (кроме команд перехода: 8 тактов = 2 команды).
Получаем частоту команд 1 МГц или 1 мкс.
Данные записываются в порт за 1 команду (1 мкс). Есть небольшие задержки (см. документацию).

 

peling: ... известна частота тактирования процессора. Вопрос: какова скорость выдачи данных в порт?
Максимальная скорость выдачи для процессора с тактовой частотой 4 МГц составляет 500 кБайт/с.

 

Частота тактовая - 4 МГц. Команда выполняется за 4 такта (кроме команд перехода: 8 тактов = 2 команды).
===========================================================================================
В некоторых источников говорится что команда выполняется в одном такте (400нс) кроме команд перехода .
И потом уважаемый GM пожалуйста сможете мне все это показать именно откуда берется 500кБ/сек , хочу сказать в математическом виде что с чем умножается ..... итд. С большим уважением peling.

 

peling: уважаемый GM пожалуйста сможете мне все это показать, откуда берется 500кБ/сек, хочу сказать в математическом виде что с чем умножается итд.

Давайте-ка мы с вами для разнообразия спросим Labionda'у, если он конечно не кинется сразу в кусты.

peling: что команда выполняется в одном такте (400нс)
Ну вы дурачком-то, Михаил, не прикидывайтесь, вначале говорили о 4 МГц клоке, а теперь почему-то ведёте разговор о 10 МГц клоке? Для 10 МГц максимальная скорость выдачи будет в 2.5 раза выше, т.е. 1250 кБайт/с, для 20 МГц соответственно 2500 кБайт/с.

Labionda: А для AVR - 2 и 4 МБайт/с
Для какой тактовой, уважаемый?

 

Я же просил, не надо ссылаться на вашу мурзилку, просто дайте ответ. Но вам похоже суть вопроса непонятна. Давайте не поленимся, освежим вашу память.

GM написал: Максимальная скорость выдачи для процессора с тактовой частотой 4 МГц составляет 500 кБайт/с Имелся в виду pic16f84.

Labionda написал: А для AVR - 2 и 4 МБайт/с

Ну ладно, авр, так авр, хотя изначальный вопрос был по пику. Без указания тактовой это некорректные цифры, надо бы спросить GM написал: Для какой тактовой, уважаемый?

Labionda написал: Для 4 МГц - как в вопросе
Ну уже тут непонятки, сразу вопрос возникает, когда 2, а когда 4? Кодом не поделитесь? Да и частота машинных циклов там 1 МГц, а не 4.

Labionda написал: "...Вывод этих контроллеров можно переключать очень быстро - с частотой тактового сигнала ! "
Опять двадцать пять! Вопрос-то не о переключении выводов, а о выдаче байт в порт. Ну так, если вы выводы будете переключать с частотой тактового сигнала, то выходная частота будет половина тактовой, логично?

По слухам, вы ж вроде чему-то учите на своём сайте, что ж полезное дело. Но спрашивается, чему вы можете научить, если сами не можете ответить на простейший вопрос. Покажите, пожалуйста, как на атмеловском МК с тактовой 4 МГц вывести 68 байт в порт на частоте 4 МГц или хотя бы на 2 МГц. Дайте просто ответ, не надо ссылок. Не виляйте, как маркитанская лодка, вас это не красит.

 

2 Labionda - я полагал что вывод данных и "переключать выводы" - это разные вещи - придётся сходить "к вам" на ликбез.
_____________
2 GM - опять я опоздал

 

А еще такой вопрос на засыпку!Можно ли уменьшить скорость передачи данных!И как это сделать))))

 

AnSi: я полагал что вывод данных и "переключать выводы" - это разные вещи
Правильное замечание. Переключение выходов делается 1-2 командами, не забыть вставить nop, чтоб и реально получить изменение на выводе. Включить - nop - выключить - nop. Итого как минимум 4 команды. Вывод данных обязательно подразумевает еще выборку этих данных или их рассчет, стробирование или другую синхронизацию передачи, т.е. несколько дополнительных команд, что значительно замедляет реальный обмен.