Jump to content

    

mery

Участник
  • Content Count

    18
  • Joined

  • Last visited

Everything posted by mery


  1. То, что идентифицируется этот тип флеш, эти осциллограммы я вижу осциллографом, больше посмотреть не могу. Я все-таки подозреваю, что не правильно создаю файл ldr. На 0хff первый байт в ldr файле меняла, не помогло. Напишите, пожалуйста подробно как его создавать, может в этом все дело.
  2. Чтобы записать ldr файл во флэшку разработали программу записи, которая запускается из VDSP. Правильность записи проверили путем считывания из флэшки. При включении питания целевой платы BF537 выдает импульсы чтения на флэшку, но целевая программа после этого не выполняется. --Надо первый байт данных во флешке заменить на FF - а какой именно байт надо править? Об этом много пишут, но если это первый байт данных, то у меня там и стоит 0xff
  3. Добрый день всем. Помогите решить следующую проблему: не удается загрузить и выполнить программу на BF537. Программа создана в среде VDSP. При запуске из среды программа выполняется, в том числе и после сброса командой Debug – Rezet. Для загрузки с помощью среды был сделан бинарный файл типа .ldr. Была разработана программа записи этого бинарного файла в SPI-FLASH at45db041, которая используется для загрузки BF537. Но программа на BF537 не выполняется. Не могу написать ассемблерную вставку для выхода из состояния аппаратного сброса по питанию. Не могу определить адрес User code. Пытаюсь сделать так: Main { B1=3; //вспомогательная команда B=& b1; //считаю, что найден адрес User code. Спасибо.
  4. Добрый день! Мучаю отладочную плату с bf537. Не могли бы дать работающий пример для передачи массива данных (желательно - DMA) ethernet без LwIР? Слышала, что так работает быстрее и надежнее. Или с LwIР передачи массива данных. На сколько обработка ethernet загружает процессор? Заранее спасибо всем откликнушився.
  5. spi dspic33fj256mc710

    По spi обслуживаю мост usb max3420e. Передавать надо по-разному: один байт и несколько байт подряд. Проблема при передачи 1 байта (нескольких байт) следующая:перевожу линию SS в ноль я передаю байт SS делаю =1. Вот так: ss_lo; // Set SS# low temp = SPI1BUF; // dummy read of the SPI1BUF register to clear the SPIRBF flag SPI1BUF = reg+2; // write the data out to the SPI peripheral while (!SPI1STATbits.SPIRBF); // wait for the data to be sent out temp = SPI1BUF; // dummy read of the SPI1BUF register to clear the SPIRBF flag SPI1BUF = dat; // write the data out to the SPI peripheral while (!SPI1STATbits.SPIRBF); // wait for the data to be sent out temp = SPI1BUF; //for(j=0;j<7;j++) Nop(); _LATB13=1; ss_hi; // set SS# high Так вот, когда я отпускаю ss_hi последний такт у меня еще идет и данные стоят, а ss уже равен 1. Пробовала вставить цикл ожидания for(j=0;j<7;j++) Nop();. Диаграммы выставляются как в документации, но прии стыковке с max3420 (usb мост) его не обнаруживается windows, а без for(j=0;j<7;j++) Nop() обнаруживается, но windows пишет, что устройство работает с ошибкой код 10 .
  6. spi dspic33fj256mc710

    Добрый день! У меня следующая проблема: не срабатывает прерывание по spi dspic33fj256mc710. Программирую его в режиме мастер. void SPI_Init(void) { // Set SPI pins (SCLK, MOSI, and SS#) as outputs PORTF=0; LATF=0; TRISF=0; //1 - in, 0 - out // Set SPI pins MISO as inputs TRISF|=(1<<7); //_RF7; // INT as input TRISA=0; TRISA|=(1<<14); //_RA14; // fastest SPI clock--div by 2 // mode(0,0), 8 bit data // Set SPI controller as master // Enable the SPI controller /* конфигурацию регистра SPI для работы в режиме ведущего */ IEC0bits.SPI1IE = 0; //отключаем прерывание IFS0bits.SPI1IF = 0; //Очищаем флаг прерывания // настройка регистра SPI1CON1 SPI1CON1bits.DISSCK = 0; //Разрешаем внутренние тактовые импульсы SCK. SPI1CON1bits.DISSDO = 0; //вывод SDOx управляется модулем SPI. SPI1CON1bits.MODE16 = 0; //Коммуникация осуществляется с помощью байт (8-ми битная). SPI1CON1bits.SMP = 0; //Входные данные выбираются в середине вывода данных. SPI1CON1bits.CKE = 0; // Последовательные выходные данные изменяются по // переднему фронту тактового сигнала SPI1CON1bits.SPRE = 0b111; //Настраиваем вторичный предделитель. 1:1 SPI1CON1bits.PPRE = 0b10;//64:1//0b11; // Настраиваем первичный предделитель. 1:1 SPI1CON1bits.CKP = 0; SPI1CON1bits.MSTEN = 1; //Включаем режим ведущего SPI1STATbits.SPIEN = 1; //Включить модуль SPI _SPI1IF = 0; // Clear the Interrupt Flag _SPI1IE = 1; // Enable the Interrupt _SPI1IP = 3; } void WriteSPI1(uint8_t data_out) { interrupt_spi=0; _LATB13=1; _SPI1IE = 1; while (SPI1STATbits.SPITBF); //SPITBF==1 SPI1BUF = data_out & 0xff; /* записываем байт */ while(interrupt_spi==0); _SPI1IE = 0; // Disable the Interrupt } void __attribute__((__interrupt__, no_auto_psv)) _SPI1Interrupt(void) { _SPI1IF = 0; interrupt_spi=1; SPI1BUF = 0; } По таймеру запускаю функцию WriteSPI1(uint8_t data_out). Данные без прерывания по spi выдаются. А когда программирую прерывание, программа зависает. Спасибо
  7. rs485 9615

    У меня микросхема max483. Жаль не могу выложить схему. К МК она подключена через hef4066bt. RE, DE соедины и подключены к МК. RO и DI подключены через hef4066bt на МК.
  8. rs485 9615

    я то же так думала и слала информацию с различными промежутками времени от 50 до 1000 ms. Пробовала просто случайным образом нажатием кнопки отправить посылку отсылать данные. Результат тот же.
  9. rs485 9615

    скорость 9615 паритет нет стоп биты 1 четность нет на winapi программирую так: dcb.BaudRate = 9600;//temp;//9600;//StrToInt(Form1->ComboBox2->Text); //задаём скорость передачи 115200 бод dcb.fBinary = TRUE; //включаем двоичный режим обмена dcb.fOutxCtsFlow = FALSE; //выключаем режим слежения за сигналом CTS dcb.fOutxDsrFlow = FALSE; //выключаем режим слежения за сигналом DSR dcb.fDtrControl = DTR_CONTROL_DISABLE; //отключаем использование линии DTR dcb.fDsrSensitivity = FALSE; //отключаем восприимчивость драйвера к состоянию линии DSR dcb.fNull = FALSE; //разрешить приём нулевых байтов dcb.fRtsControl = RTS_CONTROL_DISABLE; //отключаем использование линии RTS dcb.fAbortOnError = FALSE; //отключаем остановку всех операций чтения/записи при ошибке dcb.ByteSize = 8; //задаём 8 бит в байте dcb.Parity = 0; с платы (МК) ответы прекращаютя, т.е. зависает
  10. Добрый день! Помогите решить следующу проблему. У меня есть плата с выходом rs485 скорость передачи данных получается по документации 9615. подключаюсь к ней с ПК по переходнику rs232-rs485. Написала программу под winXP шлю данный по последовательному порту и принимаю их от платы. Когда работает шлю данные в бесконечном цикле, т.е с какой-то частотой шлю посылки с ПК на плату, иногда она в ответ вместо кода подтверждения выполнения команды шлет 0хЕ0 или 0хС0. Иногда она просто не отвечает. Что делать. Может это быть из-за того, что скорость передачи по rs232 - 9600, а в МК - 9615?
  11. Добрый день! Купили в разное время несколько дисплейных модуля Futaba M204SD02AJ. На одном отладили программу вывода данных на экран с помощью мк ATmega128, режим вывода на экран информации Motorola M68-Type Parallel Interface. Программа работает без сбоев. Взяли дисплейный модуль Futaba M204SD02AJ, купленный из другой партии, на экран выводиться нужная информация + всякая ерунда. Разница между ними заключается в том, что на работающем дисплейном модуле стоит контроллер VFD фирмы Futaba (документацию на этот контроллер найти не удалось, на нем написано: Futaba 20125С 5Р20А036-05 0248ХХ002), а на не работающем контроллер фирмы holtek HT16514. Может у кого есть описание на контроллер VFD фирмы Futaba? Может кто сталкивался с подобной проблемо??? Сравнили все временные задержки по документации на модуль M204SD02AJ и на контроллер HT16514, все цифры совпадают. Разница лишь в том, что на временных диаграммах модуля M204SD02AJ и HT16514 есть разница, что в управлении контроллем при операции записи/чтения появляется сигнал cs. В описание на модуль M204SD02AJ этот сигнал не упоминается. Диаграммы приведены в файле:
  12. Добрый день! Помогите, пожалуйста, решить следующую проблему: разработан проект для ПЛИС в среде ISE Xilinx ISE 7.1i, в которой я использовала библиотеку library UNISIM; use UNISIM.VComponents.all; стала задача использовать ПЛИС фирмы ALTERA. Подскажите аналог этой библиотеки для ПЛИС фирмы altera. С уважением, mery.
  13. numeric_std - это хорошо, а он же не поддерживает операцию conv_signed(arg,size), а его поддерживает std_logic_arith и что делать? Симулятор по прежнему выдает ошибку: # ** Error: p2r_cordicpipe.vhd(19): (vcom-1137) Identifier 'signed' is not visible. Making two objects with the name 'signed' directly visible via use clauses results in a conflict; neither object is made directly visible. (LRM Section 10.4) # Definitions included from: # ieee.std_logic_arith.signed # ieee.numeric_std.signed
  14. после подключения numeric_std получилось. Большое спасибо.
  15. >Пожалуйста, используйте тег code или codebox для оформления кода. сорри учту на будущее. я тоже не вижу, но когда я подключаю библиотеку use ieee.std_logic_arith.all; в тестовый файл, то modelsim выбрасывает следующую ошибку: # ** Error: func_tst.vhd(34): Aggregate expression cannot be scalar type (error). # ** Error: func_tst.vhd(35): (vcom-1137) Identifier 'signed' is not visible. Making two objects with the name 'signed' directly visible via use clauses results in a conflict; neither object is made directly visible. (LRM Section 10.4) чтобы не было сомнений, что ошибки в коде нет, прикладываю файлы
  16. Добрый день! Помогите решить следующую проблему. Есть код на vhdl, синтезируется, есть тестовое воздействие на vhdl, при запуске которого симулятор выдает ошибку: # Fatal error at an unknown location # while elaborating region: /func_tst_vhd/uut # Fatal error at func_tst.vhd line 60 # while elaborating region: /func_tst_vhd # Load interrupted # Error loading design # Error: Error loading design library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity func is generic( WIDTH : natural := 16; PIPEID : natural := 1 ); port( clk : in std_logic; ena : in std_logic; Xi : in signed(WIDTH -1 downto 0) ); end func; architecture Behavioral of func is signal dX, Xresult : signed(WIDTH -1 downto 0); signal Zneg, Zpos : std_logic; begin line 60: dX<=Xi; end Behavioral; Помогите, пожалуйста решить проблему с запуском симулятора. ISE 7.1, ModelSim 6.0
  17. Уважаемые участники форума! Помогите, пожалуйста. Столкнулась со следующей поблемой: есть на языке vhdl написанный некий код. Этот код я использую в разных проектах. Как мне из этого кода создать элемент, исходный код которого был бы скрыт, а его подключение в проект осуществлялось как подключение какого-то компонента. Т.е. на подобие dll-ки на языке С. Заранее благодарна, mery