реклама на сайте
подробности

 
 
> ISA шина, работа с INTEL и AMD
IEC
сообщение Dec 18 2007, 07:01
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 22-03-05
Из: г. Харьков, Украина
Пользователь №: 3 598



Здравствуйте Все!

Давно мучает вопрос --

Создавли плату ввода-вывода на ISA шине на Altera МАХ3256;
Она стабильно работала на всех материнках с процессорами AMD, а на материнках с INTEL на некоторых работала через раз, на некоторых вообще не запускалась.
Будто-бы все сделали как надо.

Пришлось перейти на МАХ7000, все проблемы исчезли.

Может кто сталкивался с таким и как бороться?

Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
Инженер
сообщение Jan 16 2008, 14:43
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 104
Регистрация: 10-12-04
Из: Ебург
Пользователь №: 1 436



Временные диаграммы сигналов чтения/записи для разных чипсетов? У них фронты сигналов чтения/зиписи могут не совпадать, поэтому и не работало. То, что все заработало на другой серии ПЛИС мало о чем говорит. Там все может работать на грани.
Go to the top of the page
 
+Quote Post
vol2003
сообщение Feb 7 2008, 08:22
Сообщение #3





Группа: Новичок
Сообщений: 11
Регистрация: 5-02-08
Пользователь №: 34 767



Более того, если даже оно заработало, оно может в любой момент отвалиться опять при изменении условий окружающей среды (например, летом жарко будет или рядом мощный трансформатор поставят). Это такие ошибки, которые лучше не оставлять "на потом" по возможности, поскольку всплывет оно наверняка у заказчика в самый неподходящий момент.

Так что "заработало" - это как правило означает просто "гораздо реже возникает ошибка". Но все равно - возникает, скорее всего.
Go to the top of the page
 
+Quote Post
3ABXO3
сообщение Sep 30 2008, 15:02
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 17-01-07
Пользователь №: 24 495



Подскажите, пожалуйста, куды дальше рыть копать…
вот описал 16-bit ISA устройство… заливаю в плис EPM3256 все работает:
1. запись байта по адресу 300
2. чтение байта по адресу 300
3. запись слова по адресу 300
кроме:
4. чтение слова по адресу 300 возвращает байт

VHDL - код
library IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.numeric_std.all;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
entity ISA_16bit is
port(
I_ADR : in std_logic_vector (9 downto 0);
I_RESET : in std_logic;
I_AEN : in std_logic;
I_IOW : in std_logic;
I_IOR : in std_logic;
I_IOCS16 : out std_logic;
I_DATA : inout std_logic_vector (15 downto 0);
OutPort0 : out std_logic_vector (15 downto 0)
);
end ISA_16bit;
architecture BEHAVIOR of ISA_16bit is
component ISA_16bit
port(
I_ADR : in std_logic_vector (9 downto 0);
I_RESET : in std_logic;
I_AEN : in std_logic;
I_IOW : in std_logic;
I_IOR : in std_logic;
I_IOCS16 : out std_logic;
I_DATA : inout std_logic_vector (15 downto 0);
OutPort0 : out std_logic_vector (15 downto 0)
);
end component;
CONSTANT BASE : integer := 768;
CONSTANT ZST : std_logic_vector (15 downto 0) := "ZZZZZZZZZZZZZZZZ";
CONSTANT NUL : std_logic_vector (15 downto 0) := "0000000000000000";
SIGNAL SelectPort0 : std_logic;
SIGNAL InOutPort0 : std_logic_vector (15 downto 0);
begin
SelectPort0 <= '1' when (conv_integer(I_ADR) = BASE and I_AEN = '0') else '0';
I_IOCS16<='0' when (SelectPort0 = '1') else 'Z';
I_DATA <= InOutPort0 when (SelectPort0 = '1' and I_IOR = '0') else ZST;
OutPort0 <= InOutPort0;
Write:process (I_IOW,I_RESET)
begin
if I_IOW'event and I_IOW='1' then
if SelectPort0 = '1' then InOutPort0<=I_DATA; end if;
end if;
if I_RESET='1' then InOutPort0<=NUL; end if;
end process Write;
end BEHAVIOR;


вот функция работы с портом
void cmd (){
int port,dataW,dataR;
port=TDATAPORT.PORT;
dataW=TDATAPORT.HDATA16;
while(!kbhit()) {
asm {mov dx,port
mov ax,dataW
out dx,ax
in ax,dx
mov dataR,ax
}
fprintf(stdout,"->0x%X..0x%X",dataW,dataR);
}
fprintf(stdout,"\n");
}

Сообщение отредактировал 3ABXO3 - Sep 30 2008, 15:03
Go to the top of the page
 
+Quote Post
3ABXO3
сообщение Oct 1 2008, 09:40
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 17-01-07
Пользователь №: 24 495



Все решилось просто...
ошибки на ПП
Весь код рабочий
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 19:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016