Jump to content

    

shamrel

Свой
  • Content Count

    157
  • Joined

  • Last visited

Everything posted by shamrel


  1. Отверстия тонкие они тоже сверлить не умеют, минимальный диаметр сверла 0.25 мм. (~10 mil) :crying:
  2. Благодарю за ответ! Видимо придется отказываться от такого корпуса. Площадка в диаметре 0.25, расстояние между ног 0.5, расстояние между площадками 0.25. Между ног должно вместиться два защитных интервала и сама дорожка. Итого: 0.25/3 = 0.083 (мм) Вывод: не в Сибири :(
  3. Доброго Здоровья! Стоит задача развести плату с чипом в BGA корпусе с шагом выводом 0.5 мм, при этом единственный(крупнейший) производитель печатных плат в регионе (Новосибирск) обеспечивает технормы в 120 мкм. Я б сразу отверг идею ставить такой корпус, если бы с чипа не нужно было бы взять лишь малое число выводов: нужно запитать, прошить, тактировать и два последовательных интерфейса. И все бы получилось, вот только не смог вывести две линии с второго ряда. Однако напротив этих выводом в первом ряду находятся не используемые мною выводы параллельного порта. Вопрос! Могу ли я исключить эти пятачки из патерна и под шарами пустить сигнальные линии, спрятанные под маску? Делают ли так? Боюсь, проблемы при монтаже возникнут.
  4. Ну..или так :laughing: А вот это помогло! Теперь прошивается под обычным юзером! _Pasha, Flood, Огромное Спасибо! :1111493779:
  5. команда groups выдает: adm dialout cdrom plugdev lpadmin admin sambashare usbblaster user находится во группах plugdev и usbblaster. _Pasha, я вас верно понял? указания по ссылке плодов не принесли. Гнусный редактор vim -- я так и не понял, пропачен файл или нет. И не понятно, для чего его патчить. Проблему получилось решить топорным способом, перейти в папочку altera/quartus/bin/ и gksudo ./quartus . Как сделать тоже под userom?
  6. Доброго Здоровья! Нужна помощь. Имеется: 1. Ubuntu. Выпуск 12.04 (precise) 64-бит 2. USBblaster 3. плата с Cyclone III 4. Quartus II 32-bit Version 12.0 Web Edition По команде lsusb выдает: Bus 002 Device 002: ID 09fb:6001 Altera Blaster Однако по команде jtagconfig выдает ошибку: 1) USB-Blaster variant [2-1] Unable to lock chain (Insufficient port permissions) Из самого квартуса бластер виден, но прошивка не удается. в статусбаре "Progress:" пишет: "(Failed)" Error (209053): Unexpected error in JTAG server -- error code 89 Работоспособность платы и программатора проверялась на компьютере с WinXP. В чем может быть проблема?
  7. Уважаемые Знатоки, мастера и Гуру! Нужна ваша помощь в освоение DSP/BIOS. Читаю документацию, однако после прочитанного все равно остаются вопросы. Для того что бы упростить процесс общения, предлагаю следующий формат. Задаю вопросы, предполагающие однозначный ответ: да ли нет (иногда несколько да/нет на вопрос ). Я Искренне надеюсь, что подобный формат позволит другим новичкам разобраться с DSP/BIOS. Текущие вопросы возникли после изучения Using DSP/BIOS in C2800 Applications with High Interrupt Rates и экспериментирования с TMS320F28069. Я понимаю, что в spraax9 все написано. 1. При настройке HWI в Configuration Tools, после активации (установка галочки ) Dispatcher предлагается выбрать Interrupt Mask IER0. Там где в маске единичка (например, маска 0х0100, единичка в восьмом бите) та группа прерываний будет отключена при вызове обработчика (в примере девятая группа PIE_INT9_x)? 2. Если мне не допустимы (или не нужны) вложенные прерывания я в маску должен записать все единички? 3. После выхода из обработчика прерывания (HWI с использованием Dispatcher) текущее прерывание включается автоматически? Или нужно «взводить» его руками? 4. После выхода из обработчика другие прерывания включаются заново, если были запрещены маской (см. первый вопрос.)?
  8. Именно! Графы наглядно иллюстрируют состояния системы и условия перехода из одного в другое.
  9. Присоединяюсь к вопросу. Кто-нибудь может на пальцах объяснить, что такое програмные прерывания и как ими пользоваться?
  10. Проблему решил, организовав прерывание по FIFO, по приему байта так и не выло: не встает. Всмысле, флаг не встает. Когда допишу драйвер UART под TMS320F28 поделюсь со всеми желающими.
  11. Месяц назад был перед таким же распутьем. Линукс отвергли почти сразу, стоило лишь получить консультацию у специалиста. main(){} c бесконечным циклом при наличии большого количетва задач -- тот еще геморой: по сути писать свой планировщик задачь. Подумав, порисовав графы, решили не изобретать велосипед -- использовать DSP/BIOS. Сейчас потихоньку разбираемся.
  12. Капнул глубже. Выяснил, что при приеме байта флаг RXRDY регистра SCIRXST не устанавливается в единицу. Из-за чего это может быть? Причем FIFO работает нормально.
  13. Доброго Здоровья! Имеется КИТ с TMS320F28069, задача -- завести UART на прерываниях под DSP/BIOS. Без прерывания отправка и прием данных происходит. "hello world" шлет. Однако, прерывание не работает. Изучив документацию получил следующий алгоритм (Активен SCI-A, прерывание на прием. ): 1. Настраиваем соответствующие GPIO под работу с SCI: 1.1. Включаем подтягивающие резисторы на линии Rx и Tx. (регистр GPAPUD). 1.2. Включаем какую-то квалификацию: GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 3; // Asynch input GPIO28 (SCIRXDA) 1.3. Переключаем пины на функцию SCI (GPAMUX2). 1.4. Наверное стоит подать такты на SCI (PCLKCR0). 2. Запрещаем все прерывания и инициализируем PIE-vector. 2.1. Запрещаем все прерывания (DINT (INTM = 1)). 2.2. Запрещаем PIE. (PIECTRL.ENPIE). 2.3. Очищаем все PIEIER регистры, то есть запрещаем все прерывания от периферии по отдельности. 2.4. Очищаем все флаги прерываний PIE (PIEIFR) 2.5. Запрещаем все прерывания в регистре IER, а также очищаем все соответствующие флаги IEF. 2.6. Копируем таблицу векторов прерывания из флешь в ОЗУ. 2.7. разрешаем PIE. (PIECTRL.ENPIE). 3. Инициализируем SCI 3.1. Устанавливаем режим работы (число бит в посылке, количество стоп-бит, контроль четности ): SCICCR = 0x07; 3.2. Отключаем спящий режим, включаем Rx и Tx: SCICTL1 = 0x03; 3.3. Включаем прерывание от Rx и Tx: SCICTL2 = 0x03; 3.4. Настраиваем скорость UART: SCIHBAUD = 0x01; SCILBAUD = 0x24; 3.5. Настраиваем FIFO. SCIFFTX = 0xE040; SCIFFRX = 0xE040; -- после данных назначений FIFO удерживается в сброшенном состоянии. 3.6. Отключаем режим автоопределения скорости (SCIFFCT) 3.7. Разрешаем SCI: SCICTL1 = 0x23; 3.8. Выводим FIFO из сброшенного состояния (SCIFFTX, SCIFFRX, биты TXFIFOXRESET и RXFIFORESET) 4. Настраиваем PIE на работу с SCI. 4.1. В регистре разрешения PIE устанавливаем в нулевом бите единичку: PIEACK | = 0x0001; 4.2. В регистре PIEIER9 устанавливаем соответствующий бит (нулевой). 4.3. В регистре IER устанавливаем нулевой бит. 4.4. Разрешаем глобальные прерывания (EINT). 5. Натравливаем BIOS на соответствующий обработчик прерывания (функция sci_rx_int_A() ). В файле *tcf добавляем ссылку на функцию обработчика прерывания: bios.PIE.instance("PIE_INT9_1").useDispatcher = 1; bios.PIE.instance("PIE_INT9_1").interruptMask0 = "all"; bios.PIE.instance("PIE_INT9_1").fxn = prog.extern("sci_rx_int_A"); bios.PIE.instance("PIE_INT9_1").monitor = "Nothing"; 6. ПРОФИТ ? --- НЕТ! В обработчике пытаюсь мигать светодиодом. Может я что-то упустил, может еще какой шаг должен быть?
  14. Спасибо. Изучал уже. Процессоры не те. С китами 28x не идут драйвера. Или я опять чего-то не понимаю. Нашел интересный пример написания драйвера (на русском языке!) Создание собственных библиотек драйверов периферийных устройств сигнального процессора. Однако, как доходит дело до UART, в хендернике появляются таинственные типы данных, например DRV_UART_Handle, Ptr, нигде не объявленные и проект не собирается. Такое впечатление, что пример откуда-то выдран, причем коряво.
  15. Да я бы и рад не использовать, выбор контроллера и этого самого биоса продиктован наличием проприетарных библиотек для реализации физического уровня и MAC одного экзотического протокола, либы и примеры под BIOS. Приходится осваивать. И все же, неужели нет готового драйвера для UART? Я не верю, что вся эта канитель с BIOS только лишь для реализации ТаскМенеджера.
  16. Таки "Hello World" вывести получилось. Однако, используя непосредственно регистры SCI. Как то так: char *msg; main () { scia_init(); ..... msg = "hello world\n\0"; scia_msg(msg); ....... } void scia_xmit(int a) { while (ScibRegs.SCIFFTX.bit.TXFFST != 0) {} ScibRegs.SCITXBUF=a; } void scia_msg(char * msg) { int i; i = 0; while(msg[i] != '\0') { scia_xmit(msg[i]); i++; } } Как тоже самое сделать, используя возможности BIOS?
  17. Крик утопающего. Ребята помогите! Как используя BIOS, вывести через UART "Hello World" ? Процессор TMS320F28069. Я не понимаю принципов работы BIOS. Читаю "TMS320C28x DSP/BIOS 5.x Application Programming Interface (API) Reference Guide", вижу DEV Module, вроде бы это оно, но как эти воспользоваться? Чего я не понимаю: 1. Как какая-либо функия закрепляется за Task/SWI/IDLE; 2. Как добавить/настроить аппаратное прерывание, например, от UART; 3. Как добавить в систему драйвер периферии, где его взять и какой у него интерфейс. Знаю, вопросы наивные, но RTFM не помог. :smile3046:
  18. uIP "как есть" поддерживает байтовою адресацию, а по ТЗ устройств должно быть до 1000. Придется ковырять исходники Линукс :smile3046: Кто-нибудь имел дело с Contiki OS? Имеет смысл тратить время на это направление?
  19. Доброго Здравия! Сталкнулся с такой проблемой. Нужно реализовать стек протаколов ipv6/UDP на чипе TMS320F28069. Выбор друго решения трудно реализуем, так как данный ТМС уж задействован в сехеме и реализует физичческий и канальный уровень PLC с проприетарными библиотеками. TI под С2000 не предоставляет решения для IPv6, готовых библиотек от сторонних производителей тоже нет (не нашел?). Скорость обмена данными -- десятки кбит, не более; однако, стоит задача маршрутизации мультихоповой сети. Ставить на плату дополнительный мощный чип с операционной системой не представляется возможным -- не проходит по электропотреблению и цене. С программированием сетевых протоколов не сталкивался, потому хотелось бы что-то более-менее готовое, можно даже платное.
  20. Что бы не плодить темы, спрошу тут. Имеется Cyclone III EP3C5E144C8N, Passive Serial. MSEL все на общий провод. После подачи питания nSTATUS не выходит в "1". Естественно, конфигурация не проходит. Подтягивающие резисторы 10 кОм. Уже вторую ПЛИС на плате сменили. Питание проверяли, все корректно. Нижний пин на земле. Подскажите, на что еще обратить внимание? :smile3009:
  21. Помог переход с PCAD2004 на PCAD2006 + MWO 2009. Однако связка PCAD2004 и MWO2009 результата не дала. Всем спасибо.
  22. И так в независимости от настроек файл/экспорт/маппинг :crying:
  23. Спасибо. MWO действительно стоит 2008. буду искать 2009.
  24. Добрый день. Нужна помощь. В microwave создал EM структуру, как ее можно перенести в PCAD? Экспорт через формат DXF заканчивается ошибкой PCAD. Через гербер тоже не выходит. В PCАD перенести требуется, так как помимо полоскового ответвителя (именно его и рассчитывал в EM) на плате должно быть много элементов, включая микроконтроллер с АЦП. :crying:
  25. Если частотный диапазон не критичен, то вместо реле можно использовать цифровые ключи, ну скажем от AD.