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

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

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

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

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

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


 
Опции темы
Непрочитано 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,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Передача байтов по 16бит шине

У вас камень 32 бита, а вы все еще атмелями и пиками мыслите.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
dosikus (30.06.2014)
Непрочитано 30.06.2014, 01:13  
Hives
Гражданин KAZUS.RU
 
Регистрация: 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,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
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.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
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.RU
 
Регистрация: 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, время: 11:20.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot