Clonando un FDC765/SED9540 - Codificación MFM

Proyectos de hardware con sus esquemáticos y si llevan software en fuente

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.
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
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

Mensaje por wilco2009 »

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.
"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.
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
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

Mensaje por wilco2009 »

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:

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
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.

Código: Seleccionar todo

	
	always @(negedge clk16) begin
		cnt = cnt + 1;
	end
	assign wrclk = cnt[1]; // 4MHz	
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.

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 
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.

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.
BCH
Demonio tercer orden
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

Mensaje por BCH »

Aqui encontre algo relacionado a la sustitucion del SED por logica discreta:
http://web.archive.org/web/201003180746 ... otres.html
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
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

Mensaje por wilco2009 »

BCH escribió:Aqui encontre algo relacionado a la sustitucion del SED por logica discreta:
http://web.archive.org/web/201003180746 ... otres.html
Dice que no existe la página....
"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.
Avatar de Usuario
merlinkv
Hermano de Lucifer
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

Mensaje por merlinkv »

wilco2009 escribió:Dice que no existe la página....
Prueba aquí :)
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.
BCH
Demonio tercer orden
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

Mensaje por BCH »

wilco2009 escribió:
BCH escribió:Aqui encontre algo relacionado a la sustitucion del SED por logica discreta:
http://web.archive.org/web/201003180746 ... otres.html
Dice que no existe la página....
Que raro, a mi me va el enlace...

Bueno, si no lo puedes ver dime y subo los esquematicos para que los veas.
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
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

Mensaje por wilco2009 »

Me sigue saliendo esto:
Captura.PNG
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.
BCH
Demonio tercer orden
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

Mensaje por BCH »

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...
Avatar de Usuario
alvaroalea España - Asturias
Demonio segundo orden
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

Mensaje por alvaroalea »

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
BCH
Demonio tercer orden
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

Mensaje por BCH »

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.
No se si estas aun con este tema, he visto este enlace y lo pongo aqui por las dudas:
http://www.brokenthorn.com/Resources/OSDev20.html
Responder

Volver a “Proyectos de hardware abiertos”