Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Передача байтов по 16бит шине

Непрочитано 29.06.2014, 23:30  
void F()
Частый гость
 
Регистрация: 22.12.2013
Сообщений: 37
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
void F() на пути к лучшему
По умолчанию Передача байтов по 16бит шине

День добрый.
К примеру, имеется у меня МК с SMC/FSMC 16бит контроллером и внешняя память. Могу ли я паковать два байта как одно слово и отправлять по 16бит шине внешней памяти? У меня куча байтовых массивов, а в случае с 16бит ОЗУ, я смогу использовать только ее половину.
Существуют ли какие-либо программные методы?
Надеюсь, понятно объяснил.
Реклама:
void F() вне форума  
Непрочитано 29.06.2014, 23:46  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Передача байтов по 16бит шине

У вас камень 32 бита, а вы все еще атмелями и пиками мыслите.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
dosikus (30.06.2014)
Непрочитано 30.06.2014, 01:13  
Hives
Гражданин KAZUS.RUN
 
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
Hives на пути к лучшему
По умолчанию Re: Передача байтов по 16бит шине

Вот вот. Скажу больше - можете писать сразу по 4 байта одним куском - контроллер сам разобьет передачу на две по 16 бит и запишет в ExtRam
Hives вне форума  
Эти 2 пользователя(ей) сказали Спасибо Hives за это сообщение:
dosikus (30.06.2014), void F() (30.06.2014)
Непрочитано 30.06.2014, 08:29  
void F()
Частый гость
 
Регистрация: 22.12.2013
Сообщений: 37
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
void F() на пути к лучшему
По умолчанию Re: Передача байтов по 16бит шине

Сообщение от Hives Посмотреть сообщение
Вот вот. Скажу больше - можете писать сразу по 4 байта одним куском - контроллер сам разобьет передачу на две по 16 бит и запишет в ExtRam
Хм. То есть, остается указать контроллеру, что шина шириной 16бит, а остальное он сам сделает?
Тогда простое копирование в память будет выглядеть так: ?
Код:
uint8_t massive[1024]; //Какой-нибудь массив
//......
memcpy((uint16_t*)0x60000000, massive, 1024);
void F() вне форума  
Непрочитано 30.06.2014, 09:30  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Передача байтов по 16бит шине

Массив и так в памяти. Надо только сказать DMA с какой ячейки он начинается и сколько длится.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
void F() (30.06.2014)
Непрочитано 30.06.2014, 10:21  
void F()
Частый гость
 
Регистрация: 22.12.2013
Сообщений: 37
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
void F() на пути к лучшему
По умолчанию Re: Передача байтов по 16бит шине

Спасибо, действительно работает. Проверил опытным путем.
void F() вне форума  
Непрочитано 30.06.2014, 11:04  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Передача байтов по 16бит шине

Сообщение от void F() Посмотреть сообщение
Проверил опытным путем.
Вы всегда опытным путём ищите то, что объяснено в даташите? Там ведь даже таблицы есть
niXto вне форума  
Непрочитано 30.06.2014, 14:58  
void F()
Частый гость
 
Регистрация: 22.12.2013
Сообщений: 37
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
void F() на пути к лучшему
По умолчанию Re: Передача байтов по 16бит шине

Сообщение от niXto Посмотреть сообщение
Вы всегда опытным путём ищите то, что объяснено в даташите? Там ведь даже таблицы есть
Весь даташит раз десяток пересматривал, там ничего про эту "технологию" пакования нет. Впрочем, для 32-ух битых контроллеров это должно быть в порядке вещей.
void F() вне форума  
Непрочитано 30.06.2014, 15:38  
Hives
Гражданин KAZUS.RUN
 
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
Hives на пути к лучшему
По умолчанию Re: Передача байтов по 16бит шине

void F() там здоровая таблица на целую страницу: раздел FSMC, пункт "Supported memories and transactions"
вот чем ты смотрел - другой вопрос
Hives вне форума  
Непрочитано 30.06.2014, 16:15  
void F()
Частый гость
 
Регистрация: 22.12.2013
Сообщений: 37
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
void F() на пути к лучшему
По умолчанию Re: Передача байтов по 16бит шине

Сообщение от Hives Посмотреть сообщение
void F() там здоровая таблица на целую страницу: раздел FSMC, пункт "Supported memories and transactions"
вот чем ты смотрел - другой вопрос
У меня не обязательно STM c FSMC контроллером. У разных компаний разные даташиты.
void F() вне форума  
 

Метки
byte, smc, sram, word
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Беспроводная передача данных 1кб/с , 3км. Как и чем? Zemlyanov Микроконтроллеры, АЦП, память и т.д 5 29.01.2015 10:02


Часовой пояс GMT +4, время: 00:34.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.