Jump to content
    

Microblaze+DDR2+UART

ну думаю в вашем случае да. Все так и будет, все произойдет само собой.

 

мне просто интересно, а вы разработчик? как долго? велика ли команда? что делаете такими силами? правда реально любопытно...

 

может вам уже кого поднанять?

Share this post


Link to post
Share on other sites

ну думаю в вашем случае да. Все так и будет, все произойдет само собой
Это сарказм?) Да, не долго(реальный проект вот первый для меня). Нас двое. Что делаем? Да вот это пока что задание и делаем)

Share this post


Link to post
Share on other sites

Найдите третьего кто это уже когда то делал. Без проводника в этом деле не стоит. Сразу запомните как делать не надо и времени кучу потеряете.

 

По нормативом ваша задача решается за полдня-день с отладкой, на выходе хороший код с комментариями.

 

Если ни разу не были до этого знакомы с микроблайзом то не более недели.

 

Вы ковыряетесь уже очень долго, гораздо дольше чем было бы разумно...

 

 

По поводу вашего вопроса, микроблайз - это процессор без программы он ничего не сделает... Я имел ввиду что настраивать АЦП надо из микроблайза а не из компьютера. Компьютер просто дает команду настрой АЦП, а микроблайз делает... можно конечно организовать сквозной канал компьютер - ацп, это надо определить по тому как часто вам надо это делать и какие есть вариации настроек, надо ли их менять...

Но в любом случае даже сквозной канал должен идти через микроблайз, с протоколом на УАРТе

 

 

П.С. Уверены что в коммерцианализированной помощи не нуждаетесь?

Share this post


Link to post
Share on other sites

Да вот это вот доделаем и третьего однозначно будем искать. Я 5 курс, другой только закончил. Понятно дело что с микроблайзом дело не имели.

Прежде чем перейти непосредственно к настройке ацп через проц, хотел спросить все ли правильно я сделал в user с чтением-записью регистров. Есть два процесса чтения-записи регистров, взависимости от адреса. Вот к примеру при чтении: там

case slv_reg_write_sel is

when "1000" =>

for byte_index in 0 to (C_SLV_DWIDTH/8)-1 loop

if ( Bus2IP_BE(byte_index) = '1' ) then

slv_reg0(byte_index*8 to byte_index*8+7) <= Bus2IP_Data(byte_index*8 to byte_index*8+7);

Вместо последней строчки я написал slv_reg0 <= t_adc_a (в регистр загоняем данные с ацп). Как я выбрал адрес: в самом начале, где объявлялся сигнал

signal slv_reg_write_sel : std_logic_vector(0 to 3); я присвоил изначально ему значение signal slv_reg_write_sel : std_logic_vector(0 to 3):="1000", т.е при обходе case у меня будет выбираться reg0. Тоже самое я сделал с сигналом slv_reg_read_sel.

Так?

Share this post


Link to post
Share on other sites

не не так:)...

 

т.е при обходе case у меня будет выбираться reg0

 

во первых, кейз не обойдется... в нужном месте снаружи модуля в этот сигнал присвоится нужное значение и покладет программа на ваше начальное значение.

 

во вторых вы перепутали чтение и запись. Тот кусок кода что вы привели возникает в момент обращения процессора в ваш модуль, Bus2IP_Data - это шина от процессора к вам. То есть чтобы сработало ваше присвоение

slv_reg0 <= t_adc_a
вам надо будет что-то писать в регистр, так конечно можно, но согласитесь странно.

 

по уму вам в этом месте надо просто убрать

slv_reg0(byte_index*8 to byte_index*8+7) <= Bus2IP_Data(byte_index*8 to byte_index*8+7);

 

а во втором блоке вместо

IP2Bus_Data .... <= slv_reg0 .....

 

записать как раз

IP2Bus_Data .... <= t_adc_a

обратите внимание что меняется IP2Bus и Bus2IP в зависимости от того куда идут данные в микроблайз или обратно.

 

так же обратите внимание на конструкцию

 

for byte_index in 0 to (C_SLV_DWIDTH/8)-1 loop

if ( Bus2IP_BE(byte_index) = '1' ) then

 

подумайте зачем она нужна и что делает...

 

 

 

2 человека, оба практически без опыта,... тяжелый стартап... интерфейс связи вы выбрали практически умирающий. В какой области хоть устройство?

 

 

Ребята, может Вы в личку перейдете? Кроме Вас тут никого нет ...

Вряд ли кому-нибудь это окажется полезным.

 

может каким то зеленым... хотя наверное вы правы...

надо тему порезать и забыть...

Share this post


Link to post
Share on other sites

Написал в личку. Сергей, почему зеленых он запутает окончательно? Он нормально разъясняет вроде как)

Share this post


Link to post
Share on other sites

Написал в личку. Сергей, почему зеленых он запутает окончательно? Он нормально разъясняет вроде как)

Вам шашечки или ехать? Иными словами Вам задачу надо решить или что?

 

Если это Ваш первый проект, то Вам в первую очеедь надо научится отлаживать, локализовать ошибки и исправлять их. Вы же неработающий проект начинаете усложнять, причем вещами, которые на порядок больше и сложнее, чем то, что уже есть в проекте.

 

Микроблэйз палка о двух концах. Я несколько лет назад после тренингов Ксайлинкс именно по встраиваемым системам отлаживал свой проект долго и с плясками с бубном.

 

 

Share this post


Link to post
Share on other sites

Он ДДР хотел прикрутить в начале, оттуда микроблайз и образовался, ведь согласитесь ДДР без него трудно в проект воткнуть, чтобы удобно было...

Share this post


Link to post
Share on other sites

Он ДДР хотел прикрутить в начале, оттуда микроблайз и образовался, ведь согласитесь ДДР без него трудно в проект воткнуть, чтобы удобно было...

MIG чем не устраивает? Один канал на запись, один на чтение

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...