Перейти к содержанию
    

Ingenegr

Участник
  • Постов

    10
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Ingenegr


  1. Добрый день.

     

    Разрабатываю КД на основе ТЗ.

     

    По ТЗ требуется разработка технического проекта, изготовление макетов, разработка конструкторской документации на изделие с литерой О.

    По ТЗ наменование: "прибор для измерения..."

     

    В наименовании КД технического проекта следует писать: "прибор для измерения..." или "макет прибора для измерения..."?

    Ведь, КД технического проекта на макет прибора, а не на прибор.

     

    Если можно, ГОСТ, где это оговаривается.

     

     

    Всех с наступающим! :santa2:

     

     

  2. Есть система, работающая по протоколу Modbus. Платформа своя на базе MSP430F169. Адреса SLAVE устройств задаются в прошивке микроконтроллеров. В итоге, количество версий прошивок равно числу SLAVE устройств (макс 32), что неудобно при серийном производстве и делает блоки невзаимозаменяемыми без перепрошивки.

     

    Как можно реализовать начальную инициализацию системы с раздачей адресов?

     

    (Некое подобие работы шины 1-wire со многими датчиками.)

     

    Спасибо.

  3. В свое время использовал для моделирования тепловых процессов "программный комплекс ТРиАНА". Демо версия демо. Результат расчетов близок к ожидаемым. Сложность работы состоит в описании тепловой модели устройства. Есть возможность импорта PCB файла из PCAD с заданием каждому из элементов их рассеиваемой мощности. При моделировании учитываются: теплопередача, конвекция, излучение. В демо версии ограничение на количество элементов модели.

  4. Какими соображениями вы руководствовались, выводя напрямую порты на старшие адреса? Для чтения, скажем, четырехбайтового значения вам придется 4 раза переписывать защелку адреса. Мне кажется более гармоничным напрямую подключить младшие адреса, а через регистр - старшие, и переписывать регистр придется только при переходе через 256-байтную границу, что ускорит работу.

     

    Спасибо. Очень правильное замечание.

     

     

    Недоумение вызывает подключение (пускай оно и классическое) параллельной SRAM к MCU, совершенно не предназначенного для такого интерфейса. Поэтому и возник некоторый вопрос: а по тому ли адресу (в соответствующем ли разделе) размещена эта тема?

     

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

  5. Применено: SRAM типа CY62158EV30 (CYPRESS) с организацией памяти 8-Mbit (1024K x 8). Эта микросхема имеет 8-битную шину данных и 20-битную шину адреса. В качестве регистра-защелки использована микросхема 74ABT16373 (FAIRCHILD) - 16 битный регистр.

     

    post-38915-1251205314_thumb.jpg

     

    Принцип работы: в первом такте происходит запись младшего и старшего байтов адреса в регистр 74ABT16373 стробирующим импульсом с порта P6.5 на

    входы регистра LE1, LE2. Во втором такте при записи данных в память SRAM на порт P4 микроконтроллера выставляется байт данных, на порт P5 выставляются старшие биты адреса (16, 17, 18, 19). Сигнал низкого уровня на порте P6.7 выводит из регистра на шину адреса памяти младший и старший адресные байты. Происходит запись сигнала импульсом низкого уровня с порта P6.0 на вход WE памяти.

     

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

     

     

    #define PORTINIT P6DIR |= 0xA7
    
    #define LE16_ON P6OUT |= BIT5
    #define LE16_OFF P6OUT &= ~BIT5
    
    #define OE16_ON P6OUT |= BIT7
    #define OE16_OFF P6OUT &= ~BIT7
    
    #define WE_ON P6OUT |= BIT0
    #define WE_OFF P6OUT &= ~BIT0
    
    #define OE_ON P6OUT |= BIT1
    #define OE_OFF P6OUT &= ~BIT1
    
    #define CE_ON P6OUT |= BIT2
    #define CE_OFF P6OUT &= ~BIT2
    
    #define LBUSout P4OUT
    #define MBUSout P5OUT
    
    #define LBUSin P4IN
    #define MBUSin P5IN
    
    #define LBUSdir P4DIR
    #define MBUSdir P5DIR
    
    #define INPUT 0x00
    #define OUTPUT 0xff
    
    
    
    void SRAM_Init(void);
    void SRAM_Write(unsigned char byte, unsigned long Address);
    unsigned char SRAM_Read(unsigned long Address);
    
    void SRAM_Init(void)
    {
     PORTINIT;
    
     LE16_OFF;
     OE16_ON;
    
     CE_ON;
     WE_ON;
     OE_ON;
    }
    
    void SRAM_Write(unsigned char byte, unsigned long Address)
    {
      LBUSdir = OUTPUT;
      MBUSdir = OUTPUT;
    
      LBUSout = Address & 0x00FF;
      MBUSout = (Address & 0xFF00)>>8;
    
      LE16_ON;
      LE16_OFF;
    
      LBUSout = byte;
      MBUSout = (Address & 0xFF0000)>>16;
    
      OE16_OFF;
      WE_OFF;
      WE_ON;
      OE16_ON;
    
      LBUSdir = INPUT;
      MBUSdir = INPUT;
    
    }
    
    unsigned char SRAM_Read(unsigned long Address)
    {
      LBUSdir = OUTPUT;
      MBUSdir = OUTPUT;
    
      LBUSout = Address & 0x00FF;
      MBUSout = (Address & 0xFF00)>>8;
    
      LE16_ON;
      LE16_OFF;
    
      LBUSdir = INPUT;
      MBUSout = (Address & 0xFF0000)>>16;
    
      OE16_OFF;
      OE_OFF;
      OE_ON;
      OE16_ON;
    
      MBUSdir = INPUT;
    
      return LBUSin;
    }
    

  6. Разработка электронных изделий и ПО

    • разработка аналоговых, цифровых узлов;
    • модернизация изделий;
    • изготовление опытных образцов;
    • мелкосерийное производство;
    • проектирование печатных плат;
    • проектирование механических деталей;
    • монтаж печатных плат;
    • сопровождение производства печатных плат;
    • сопровождение документацией ЕСКД;
    • программирование любой сложности для ОС Windows, Linux, микроконтроллеров;

     

    Нижний Новгород

     

    e-mail: [email protected]

    icq: 332354783

  7. ...а существующий радиорынок просто убожество...

     

    На весь город три ларька на радиорынке в Кузнечихе: N90, N91, N92. :07: Там еще пока можно купить детали (импорт/рус). Цены относительно нормальные для розницы.

×
×
  • Создать...