Clonando un FDC765/SED9540 - Codificación MFM
Moderadores: cacharreo, Fundadores
Reglas del Foro
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente
Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente
Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
- wilco2009
- Hermano de Lucifer
- Mensajes: 8155
- Registrado: 01 Abr 2013, 23:47
- Ubicación: Valencia
- Has thanked: 47 times
- Been thanked: 107 times
Re: Clonando un FDC765/SED9540 - Codificación MFM
Muchas gracias a todos.
Había empezado a mirar el clon rumano, y acabo de darme cuenta que el circuito de decodificación MFM sí que está en el controlador. En el separador de datos solo está la corrección del reloj mediante un circuito PLL.
Como el circuito está disponible, esa parte hace que solo sea copiar el circuito PLL.
Si la corrección del reloj se puede implementar de una manera sencilla, la interpretación de los datos (decodificación MFM) debe facilitarse enormemente, lo único que tendré que empezar de cero para adaptarme a la forma en que está hecho ahí.
Ahora le echaré un vistazo al proyecto back to +3.
Había empezado a mirar el clon rumano, y acabo de darme cuenta que el circuito de decodificación MFM sí que está en el controlador. En el separador de datos solo está la corrección del reloj mediante un circuito PLL.
Como el circuito está disponible, esa parte hace que solo sea copiar el circuito PLL.
Si la corrección del reloj se puede implementar de una manera sencilla, la interpretación de los datos (decodificación MFM) debe facilitarse enormemente, lo único que tendré que empezar de cero para adaptarme a la forma en que está hecho ahí.
Ahora le echaré un vistazo al proyecto back to +3.
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".
Douglas Adams. Guía del autoestopista galáctico.
Douglas Adams. Guía del autoestopista galáctico.
- wilco2009
- Hermano de Lucifer
- Mensajes: 8155
- Registrado: 01 Abr 2013, 23:47
- Ubicación: Valencia
- Has thanked: 47 times
- Been thanked: 107 times
Re: Clonando un FDC765/SED9540 - Codificación MFM
Pues ya le he echado una ojeada al proyecto back to the plus 3, y resulta que la lógica del SED es mucho más sencilla de lo que esperaba, pero depende de algunas señales que se retroalimentan del FDC765 y que todavía no acabo de entender.
No acabo de ser capaz de ver la correspondencia de la lógica del SED con la codificación MFM, si no tiene parte de la implementación en el 765.
Al final, la PROM es poco más que un contador algo especial, y su contenido se puede resumir en el siguiente código:
El reloj que le envía al 765, al contrario de lo que yo pensaba, no tiene ningún tipo de corrección, siendo simplemente una división del reloj principal de entrada.
El meollo de la cuestión es la señal Data Window, que aun no acabo de entender como la genera, ya que también depende de la señal VCO que viene del 765 y es algo así como una señal de sincronización.
Luego hay algunas señales que se usan en el esquema de la disquetera original y aquí no las usa, como INT.
El código completo que he convertido es este.
No acabo de ser capaz de ver la correspondencia de la lógica del SED con la codificación MFM, si no tiene parte de la implementación en el 765.
Al final, la PROM es poco más que un contador algo especial, y su contenido se puede resumir en el siguiente código:
Código: Seleccionar todo
//PROM
if (!IC9Q[5]) begin // esto parece un contador desplazado
IC8O[6:4] = IC9Q[4:2]+1;
IC8O[7] = IC9Q[4];
end else begin
IC8O = IC9Q[4:1]+1;
end
end
Código: Seleccionar todo
always @(negedge clk16) begin
cnt = cnt + 1;
end
assign wrclk = cnt[1]; // 4MHz
Código: Seleccionar todo
always @(negedge IC9Q[4] or negedge VCO) begin
//74LS74 IC10A
if (!IC9Q[4]) begin
DW = 1'b1; // IC10A.Q
end else begin
DW = !DW; // IC10A.Q
end
end
El código completo que he convertido es este.
Código: Seleccionar todo
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 08:36:39 04/12/2017
// Design Name:
// Module Name: backtothep3
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module backtothep3(
input clk16,
input VCO,
input FDRD,
output wrclk,
output reg RDDATA,
output reg DW
);
reg [1:0] cnt = 0;
reg [6:1] IC9Q = 0;
reg [7:4] IC8O = 4'b1111;
always @(negedge clk16) begin
cnt = cnt + 1;
end
always @(posedge cnt[0] /* 8MHz */) begin
// 74LS174 IC9
IC9Q[1] = IC8O[4];
IC9Q[2] = IC8O[5];
IC9Q[3] = IC8O[6];
IC9Q[4] = IC8O[7];
IC9Q[5] = !RDDATA;
IC9Q[6] = RDDATA;
//PROM
if (!IC9Q[5]) begin // esto parece un contador desplazado
IC8O[6:4] = IC9Q[4:2]+1;
IC8O[7] = IC9Q[4];
end else begin
IC8O = IC9Q[4:1]+1;
end
end
always @(negedge FDRD or negedge IC9Q[5]) begin
//74LS74 IC10B
if (!IC9Q[5]) begin
RDDATA = 1'b0; // IC10B.Q
end else begin
RDDATA = VCO; // IC10B.Q
end
end
always @(negedge IC9Q[4] or negedge VCO) begin
//74LS74 IC10A
if (!IC9Q[4]) begin
DW = 1'b1; // IC10A.Q
end else begin
DW = !DW; // IC10A.Q
end
end
assign wrclk = cnt[1]; // 4MHz
endmodule
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".
Douglas Adams. Guía del autoestopista galáctico.
Douglas Adams. Guía del autoestopista galáctico.
-
- Demonio tercer orden
- Mensajes: 973
- Registrado: 06 Sep 2014, 12:10
- Ubicación: Barcelona
- Been thanked: 4 times
Re: Clonando un FDC765/SED9540 - Codificación MFM
Aqui encontre algo relacionado a la sustitucion del SED por logica discreta:
http://web.archive.org/web/201003180746 ... otres.html
http://web.archive.org/web/201003180746 ... otres.html
- wilco2009
- Hermano de Lucifer
- Mensajes: 8155
- Registrado: 01 Abr 2013, 23:47
- Ubicación: Valencia
- Has thanked: 47 times
- Been thanked: 107 times
Re: Clonando un FDC765/SED9540 - Codificación MFM
Dice que no existe la página....BCH escribió:Aqui encontre algo relacionado a la sustitucion del SED por logica discreta:
http://web.archive.org/web/201003180746 ... otres.html
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".
Douglas Adams. Guía del autoestopista galáctico.
Douglas Adams. Guía del autoestopista galáctico.
- merlinkv
- Hermano de Lucifer
- Mensajes: 6427
- Registrado: 06 Abr 2015, 23:08
- Ubicación: Madrid / Europa del Este
- Has thanked: 133 times
- Been thanked: 336 times
- Contactar:
Re: Clonando un FDC765/SED9540 - Codificación MFM
Prueba aquíwilco2009 escribió:Dice que no existe la página....
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
-
- Demonio tercer orden
- Mensajes: 973
- Registrado: 06 Sep 2014, 12:10
- Ubicación: Barcelona
- Been thanked: 4 times
Re: Clonando un FDC765/SED9540 - Codificación MFM
Que raro, a mi me va el enlace...wilco2009 escribió:Dice que no existe la página....BCH escribió:Aqui encontre algo relacionado a la sustitucion del SED por logica discreta:
http://web.archive.org/web/201003180746 ... otres.html
Bueno, si no lo puedes ver dime y subo los esquematicos para que los veas.
- wilco2009
- Hermano de Lucifer
- Mensajes: 8155
- Registrado: 01 Abr 2013, 23:47
- Ubicación: Valencia
- Has thanked: 47 times
- Been thanked: 107 times
Re: Clonando un FDC765/SED9540 - Codificación MFM
Me sigue saliendo esto:
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".
Douglas Adams. Guía del autoestopista galáctico.
Douglas Adams. Guía del autoestopista galáctico.
-
- Demonio tercer orden
- Mensajes: 973
- Registrado: 06 Sep 2014, 12:10
- Ubicación: Barcelona
- Been thanked: 4 times
Re: Clonando un FDC765/SED9540 - Codificación MFM
Ok, aqui he puesto la informacion de que salia en la pagina:
https://www.dropbox.com/s/j1mcnhf1k8u1h ... 0.zip?dl=0
Mirandolo con mas detenimiento creo que es lo mismo que el proyecto back to the plus 3...
https://www.dropbox.com/s/j1mcnhf1k8u1h ... 0.zip?dl=0
Mirandolo con mas detenimiento creo que es lo mismo que el proyecto back to the plus 3...
- alvaroalea
- Demonio segundo orden
- Mensajes: 1092
- Registrado: 25 Oct 2014, 12:49
- Ubicación: Asturias, Paraiso Natural
- Has thanked: 14 times
- Been thanked: 52 times
- Contactar:
Re: Clonando un FDC765/SED9540 - Codificación MFM
Hay dios... Ni caso a esa página... Que vergüenza... era un absoluto lamer de aquella...
Y si ,básicamente ante la imposibilidad de encontrar un sed para mi +2A de placa larga aislé esa parte del proyecto de back to the +3, pero nunca se probó, a saber si funciona...
Enviado desde mi Nexus 7 mediante Tapatalk
Y si ,básicamente ante la imposibilidad de encontrar un sed para mi +2A de placa larga aislé esa parte del proyecto de back to the +3, pero nunca se probó, a saber si funciona...
Enviado desde mi Nexus 7 mediante Tapatalk
-
- Demonio tercer orden
- Mensajes: 973
- Registrado: 06 Sep 2014, 12:10
- Ubicación: Barcelona
- Been thanked: 4 times
Re: Clonando un FDC765/SED9540 - Codificación MFM
No se si estas aun con este tema, he visto este enlace y lo pongo aqui por las dudas:wilco2009 escribió:Muchas gracias a todos.
Había empezado a mirar el clon rumano, y acabo de darme cuenta que el circuito de decodificación MFM sí que está en el controlador. En el separador de datos solo está la corrección del reloj mediante un circuito PLL.
Como el circuito está disponible, esa parte hace que solo sea copiar el circuito PLL.
Si la corrección del reloj se puede implementar de una manera sencilla, la interpretación de los datos (decodificación MFM) debe facilitarse enormemente, lo único que tendré que empezar de cero para adaptarme a la forma en que está hecho ahí.
Ahora le echaré un vistazo al proyecto back to +3.
http://www.brokenthorn.com/Resources/OSDev20.html