Home
Osciloscopio basado en Windows 95 utilizando el puerto serie
Contents
1. if pAcDc nCanal O DC 0 0 cByteTX cByteTX amp OxFE FE 1111 1110 else BC cByteTX cByteTX 0x01 cByteTX cByteTX 0x1E 0001 1110 FAC Gl cByteTX cByteTX s byteMascara pTrackbar nCanal 1 cByteTX cByteTX 0xE0 1110 0000 CH1 CH2 cByteTX cByteTX s byteCanal nCanal m_pTXCadena 0 cByteTX Seguidamente se presentan las m scaras de codificaci n BYTE CControlDlg s byteMascara 14 H BYTE CControlDlg s_byteCanal 4 0 1 G2 G3 OxFF OxF7 OxFB OxF3 OxFD OxF5 OxF9 OxF1 OxEB OxE3 OxED OxE5 OxE9 OxE1 0x3F 0 Ox7F 0 OxBF 1 OxFF 1 00o0o0ooorrererrerrerr LALALA LLLA AALALA AAN ERRE CRES A ARA AAA ARIS ELA ERRE BE ERE Otra funci n void CControlDlg OnApplyPublic La utiliza el documento para actualizar la vista OnApply bre dA 011 01 001 10 010 000 01 001 10 010 000 KSG A LV LLL 117 7 11 11 6 2 8 CLASE CACTUARDLG if defined AFX ACTUARDLG_H_DA985EF1_C77B_11D3_BB39 ACF5B442421C INCLUDED define AFX ACTUARDLG H DA985EF1_C77B_11D3_BB39 ACF5B442421C INCLUDED if MSC VER gt 1000 pragma once tendif MSC_VER gt 1000 ActuarDlg h header file III IA AAA
2. CControlDlg CControlDlg CView pView Constructor no modal m pView pView m_pTXCambio new BOOL 4 m_pTXCambio 0 FALSE m_pTXCambio 1 FALSE m_pTXCambio 2 FALSE m_pTXCambio 3 FALSE m_pTXCadena new BYTE 2 m_nEstadoAnteriorCanales 0 En V En ms OxF9 void CControlDlg DoDataExchange CDataExchange pDX CDialog DoDataE AFX DATA MAP DDX Radio pDX DDX Radio pDX DDX Radio pDX DDX Radio pDX DDX Radio pDX DDX Check pDX DDX Check pDX AFX DATA MAP xchange pDX CControlDlg DC_CANALES m_nCanales DC ACDC C1 m_nAcDcC1 DC_ACDC_C2 m_nAcDcC2 DC_ACDC_C3 m_nAcDcC3 DC_ACDC_C4 m_nAcDcC4 DC INTERACTIVO m_bInteractivo if pDX gt m_bSaveAndValidate CSliderCtrl1l psl m nTrackbarCanal CSliderCtrl1 psl m_nTrackbarCanal CSliderCtr1 psli m nTrackbarCanal CSliderCtri psi m_nTrackbarCanal CSliderCtr1 psl m nTrackbarTimeD DC CONTROL MANUAL m_bControlManual ideCanall CSliderCtrl1 GetDlgItem 1 pSlideCanall gt GetPos ideCanal2 CSliderCtrl1 GetDlgItem 2 pSlideCanal2 gt GetPos ideCanal3 CSliderCtrl1 GetDlgItem 3 pSlideCanal3 gt GetPos ideCanal4 CSliderCtrl1 GetDlgItem 4 pSlideCanal4 gt GetPos ideTimeDiv CSliderCtrl iv pSlideTimeDiv gt GetPos BOOL CControlDlg Create BEGIN
3. ELLA ALAANI ES LAS ATT ATTA TTT ATTA TTT TATA TTT ATTA TTT TTT 1 Al rebre un char EVENT genera una crida a una funcio ext predefinida amb un temps invertit de 1 5 milisegons si el Thread te la prioritat THREAD PRIORITY TIME CRITICAL 2 Exemple de creaci void pOnRxChar int CRS232 amp OnRxChar Def punter pOnRxChar CRS232 m_pRs232 new CRS232 1024 1024 Creaci obj RS232 i punter CWinThread m_pThread1 Declaracio Thread A aia UINT Threadl LPVOID pParam CRS232 punter Rs232 CRS232 pParam punter Rs232 gt Thread_Att_RS232 return 0 iia Sova as ea ane os ee ere Tes eee ee ee eee ee m_pThread1 AfxBeginThread posta en marxa del thread Threadl m_pRs232 EE THREAD PRIORITY TIME CRITICAL ae jane Hore A es a See ee ee Seg Sete Sees See E E Pe ihren a eee E oe ee pete ne ne a a void OnRxChar int NumBytes CRS232 pRs232 funcio d atencio RX int a BYTE pCadena 1024 Jef BYTE pHola 10 pRs232 gt RXcopia pCadena for x 0 x lt NumBytes x tas PostMessage hPantalla WM DADA RX pCadena x 0 NIE ASA SAS ee ee ea void OnEspiaTx int NumBytes BYTE buf funcio d atencio Espia TX bytes a punt d enviar it 3 ee ga ca gi SAE AA a cs void OnEspiaRx int NumBytes BYTE buf funcio d atencio Espia RX
4. R R 10KQ On 2 1 26 5KHz o c Moko c 1 60pF 2 77 26 5KHz 10KQ o 2 a 5Hz Y gt Cs Sur 3 R C 10KQ7 2 7 5Hz 10KQ La se al proveniente del V y que en consecuencia queda alterada por la funci n de transferencia H S es una tensi n continua constante por lo tanto al ser una se al de frecuencia cero no sufre modificaci n alguna por el filtro paso bajo La ganancia deseada nuevamente es la unidad entonces R R 10KQ Finalmente se presenta el dise o global del filtro inversor sumador con filtro de banda pasante en la siguiente figura do 10K 1 4W a 100n 12Y R04 A ROS 10K 1 4W A uresusiss Z Ww o T DO L T e O a au vas Ri 100n 12 3K3 aw Ri DZ02 C36 6V c40 100n 12 Ilustraci n 2 8 amplificador inversor sumador banda pasante o paso bajo La funci n del multiplexor anal gico U07 tiene la funci n de conmutar entre el modo de funcionamiento del osciloscopio de AC a DC y viceversa Es controlado por el puerto FIL1 procedente del lach U19 La tensi n de salida del amplificado operacional UOSC en configuraci n de seguidor de tensi n se ha insertado para evitar efectos de carga con R Esta tensi n debe ser de 2 5V ya que el conversor A D que esta conectado directamente con el puerto SENAL trabaja en un rango de 0 5 V Para conseguir una tensi n de referencia estable se ha implementado un regulador de tension con un diod
5. WAIT ABANDONED The specified object that was not released by the thread has terminated The object is nonsignaled if dwResult WAIT OBJECT O return TRUE enviament acabat return FALSE void CRS232 EspiaHab void pEspTx int BYTE adreca aten esp Tx void pEspRx int BYTE adreca aten esp Rx pEspAtenTX pEspTx pEspAtenRX pESpRx EspiaHabilitat TRUE void CRS232 EspiaDeshab EspiaHabilitat FALSE 6 2 2 CLASE CSCOPEDOC scopeDoc h interface of the CScopeDoc class AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA TATA ATT TATA TTT if defined AFX SCOPEDOC_H_DA985EE4 C77B_11D3_BB39 ACF5B442421C INCLUDED define AFX SCOPEDOC H DA985EE4 C77B_11D3_BB39 ACF5B442421C_ INCLUDED if MSC VER gt 1000 pragma once endif _MSC_VER gt 1000 class CScopeDoc public CDocument Variables que almacenan los datos recibidos de la tarjeta de adquisici n de datos public double m pVin Para la vista En voltios 8KBy int m_nVinPuntos N mero de puntos de m pVin CByteArray m arrayMuestras Almacena las muestras recibidas int m_nArrayPuntos N mero de muestras private static double s_dValueGanancia V div static double s dValueDivisor ms div public typedef struct Almacena el estado de un canal int nGanancia int nDivisor BOOL bACDCneg BOOL bEnable SCanalDoc SCanalDoc m_pCanalDoc Almacena los estados d
6. BOOL m_bOnActuarDlg CActuarDlg m pActuarDlg Para el di logo de abrir cerrar puerto BOOL m_bOnComunicacionDlg Funciones y variables para el registro de Windows private void ScopeGuardarFicheroIni void ScopeAbrirFicheroIni static const char s_profileHeadingCom static const char s profileCom static const char s profileBaudios protected create from serialization only CScopeView DECLARE DYNCREATE CScopeView Attributes public CScopeDoc GetDocument Operations public Overrides ClassWizard generated virtual function overrides AFX_VIRTUAL CScopeView public int nWidthP Grosor de las divisiones BYTE bRedP Color de las divisiones virtual void OnDraw CDC pDC overridden to draw this view virtual BOOL PreCreateWindow CREATESTRUCT amp cs virtual void OnPrepareDC CDC pDC CPrintInfo pInfo NULL virtual void OnInitialUpdate protected virtual BOOL OnPreparePrinting CPrintInfo pInfo virtual void OnBeginPrinting CDC pDC CPrintInfo pInfo virtual void OnEndPrinting CDC pDC CPrintInfo pInfo virtual void OnPrint CDC pDC CPrintInfo pInfo AFX_ VIRTUAL Implementation public virtual CScopeView ifdef DEBUG virtual void AssertValid const virtual void Dump CDumpContext amp dc const endif protected Generated message map functions protected AFX_MSG CScopeView afx msg void OnScopeA
7. CActuarDlg dialog define WM_ GOODBYE ACTUAR WM_USER 6 class CActuarDlg Construction public CActuarDlg CWnd pParent NULL public CDialog CActuarDlg CView pView BOOL Create Para la transmisi n de datos public BYTE m_pCadenaTX int m_nNumBytesTX private void ScopeCodificarTramaTX void ScopeSimular CView m_pView BYTE m_pEstadoCH BOOL m_pEnableCH public Dialog Data AFX DATA CActuarDlg enum IDD IDD ACTUAR DLG int m_nCanal int m_nDivisor int m_nGanancia int m_nDCAC CStringm_strEditRX CStringm_strEditTX BOOL m_nEnable BOOL m_bConTramas BOOL m_bEnableln BOOL m_bEnableOut BOOL m_bSimula AFX DATA Overrides Standard constructor COnstructor no modal Para crear el di logo no modal Vector para la transmisi n N mero de By m ximos a transmitir Codifica la trama a enciar Para la simulaci n Puntero de la vista Estado de los canales Enable de los canales ClassWizard generated virtual function overrides JA AFX_VIRTUAL CActuarDlg protected virtual void DoDataExchange CDataExchange pDX DDX DDV support AFX_ VIRTUAL Implementation protected Generated AFX_MSG afx_msg void virtual void virtual void afx_msg void afx_msg void message map functions CActuarDlg OnApply OnCancel OnOK OnEnviar OnLimpiarin afx_m
8. else AC 0 1 cByteTX cByteTX 0x01 100 3 1 2 1 1 1 cByteTX cByteTX 0x0E 0000 1110 if m nGanancia 0 0 5 3 0 2 0 1 0 cByteTX cByteTX 0xFl 1111 0001 else if m_nGanancia 1 ff AS A a Os gle cByteTX cByteTX amp OxF9 1111 1001 else if m_nGanancia 2 E 2 243 SO 2 Ty cByteTX cByteTX amp OxF5 1111 0101 else if m_nGanancia 3 5 3 1 2 1 cByteTX cByteTX amp OxFD 1111 1101 else if m_nGanancia 4 10 3 0 2 0 1 cByteTX cByteTX 0xF3 1111 0011 else if m_nGanancia 5 20 3 1 2 0 1 cByteTX cByteTX amp OxFB 1111 else if m_nGanancia 6 50 3 0 2 1 1 1 cByteTX cByteTX 0xF7 1111 0111 if m_nDivisor 0 Con divisor cByteTX cByteTX OxEF 1110 1111 else Sin divisor cByteTX cByteTX 0x10 0001 0000 if m_nEnable TRUE cByteTX cByteTX 0x20 0010 0000 else cByteTX cByteTX amp OxDF 1101 1111 cByteTX cByteTX 0xC0 1100 0000 if m_nCanal 0 cByteTX cByteTX amp 0x3F 0011 1111 m_pEstadoCH 0 if m_nEnable m_pEnableCH 0 cByteTX TRUE else m_pEnableCH 0 FALSE else if m_nCanal 1 cByteTX cByteTX amp 0x7F 0111 1111 m_pEstadoCH 1 cByteTX if m_nEnable m_pEnableCH 1 TRUE
9. s dValueDivisor m_pCanalDoc 0 nDivisor m_pVin 4 i 1 double m_arrayMuestras 4 i 5 5 255 2 5 s_dValueGanancia m_pCanalDoc 1 nGanancia s dValueDivisor m_pCanalDoc 1 nDivisor m_pVin 4 i 2 double m_arrayMuestras 4 i 6 5 255 2 5 s_dValueGanancia m_pCanalDoc 2 nGanancia s dValueDivisor m_pCanalDoc 2 nDivisor m_pVin 4 i 3 double m_arrayMuestras 4 i 7 5 255 2 5 s_dValueGanancia m_pCanalDoc 3 nGanancia s dValueDivisor m_pCanalDoc 3 nDivisor void CScopeDoc ScopeDecodificarTramaRX int nCanal Decodifica los Bytes de estado situados despu s de la trama de inicio BYTE byteEstado byteEstado m_arrayMuestras nCanal Miro ACDC if byteEstado amp 0x01 0000 0001 m_pCanalDoc nCanal bACDCneg TRUE else m_pCanalDoc nCanal bACDCneg FALSE byteEstado m_arrayMuestras nCanal BYTE byteAux Miro G3 if byteEstado amp 0x02 0000 0010 GB 1 byteAux 0x04 0000 0100 else G3 0 byteAux 0x00 byteEstado m_arrayMuestras nCanal Miro G2 if byteEstado amp 0x04 0000 0100 G2 byteAux byteAux 0x02 0000 0010 else G2 0 byteAux byteAux amp OxFD JA ATIL ILOT byteEstado m_arrayMuestras nCanal Miro G1 if byteEstado 0x08 0000 1000 Gl byteAux byteAux 0x01 0000 0001 else Gl 0 byteAux byteAux amp Ox
10. Para poder observar el conjunto del dise o refi rase al los planos Mediante el rel RLO1 se selecciona V1 o Vin del siguiente modo Si Vin lt SV gt V2 Vin Si ims r atier E oa E Ra Rig 12 1000 El divisor de tension se ha dise ado de tal forma que para una tension de entrada de 400V la tensi n maxima que se desea medir es de 220 2 311V pero para aumentar la seguridad se a aumentado en 89V la salida V1 sea de 5V Mediante esta estructura se consigue que la tensi n V2 permanezca en un rango desde 5V hasta 5V esto es necesario ya que la electr nica que posteriormente Vin 212 107 Vin procesar la se al est alimentada a HN lo que implica que tensiones superiores a stas provocar an una saturaci n de componentes electr nicos Se ha acotado la se al un voltio por arriba y por debajo de la alimentaci n anal gica para evitar la poca linealidad de los componentes en zonas cercanas a los m ximos de tensi n posibles N tese que R es superflua siempre y cuando D o D est n en corte Cuando V2 alcance una tensi n de 6 6 V o 6 6 V entonces D o D estar n en conducci n respectivamente En la situaci n de m xima tensi n en la entrada 400 V la corriente que circulara por R es Veo _ 400 6 6 Trs e Visi ee y la potencia maxima que disipara Paso Tig Roy IMAP 380KQ 0 38W gt YW A continuaci n se har un an lisis para determinar la potencia maxima consumida por el di
11. Posee una memoria externa que almacenara las muestras adquiridas mediante el conversor A D mostrado en el siguiente apartado La estructura de control de la memoria es la cl sica de un microcontrolador de estas caracter sticas es decir se utiliza un lach acoplado en el puerto cero que mediante la linea ALE P mantiene en el momento correcto las direcciones en el proceso de multiplexaci n entre datos y direcciones La memoria es del tipo RAM estatica y tiene una capacidad de 8 KBy con un ciclo de lectura de 35 ns y un ciclo de escritura de 35 ns Estos valores son suficientes para las necesidades del microcontrolador y requisitos del proyecto Los datos se almacenar n de forma secuencial y se leeran de la misma manera La estructura de la gesti n de la memoria es del tipo cola FIFO first in first out es decir la primera muestra almacenada en la memoria ser la primera que se transmitir Existe un lach mapeado en memoria que se encarga del control de la electr nica anal gica junto con las l neas TO y T1 El lach transfiere la informaci n del puerto cero como respuesta de A15 y WR en estado cero esta decodificaci n se ha implementado mediante una puerta NOR En los pines TXD y RXD est acoplado un driver MAX232 para establecer los m rgenes correctos de tensi n de una comunicaci n serie En la salida del driver se ha insertado un conector tipo D de montaje PCB con ngulo recto y de 9 v as Cada circuito integrad
12. pBufRX new BYTE LongBufRX pBufTX new BYTE LongBufTX NumBytesBufRX 0 NumBytesBufTX O overlapped hEventEscritura CreateEvent NULL El handler no puede ser heredado TRUE manual reset event gt usar ResetEvent FALSE flag for initial state NULL pointer to event object name Sin nombre La funci n CreateEvent crea un objeto evento con nombre o an nimo JE HANDLE CreateEvent LPSECURITY ATTRIBUTES lpEventAttributes pointer to security attributes Puntero a una estructura SSCURITY ATTRIBUTE que determina si el handle retornado puede ser heredado por el proceso hijo Si IpEventAttributes es NULL el handle no puede ser heredado BOOL bManualReset flag for manual reset event Especifica si un objeto evento creado es manual reset o auto reset Si TRUE entonces debes usar la funci n ResetEvent para resetear manualmenteel estado Si FALSE Windows autom ticamente resetea BOOL bInitialState flag for initial state Especifica el estado inicial del objeto evento Si TRUE el estado inicial es sefializado en caso cantrario es no sefializado LPCTSTR lpName pointer to event object name Puntero a un string terminado con null especificando el nombre del objeto evento Si es NULL el objeto evento es creado sin un nombre overEscritura Offset 0 overEscritura OffsetHigh O overEscritura hEvent hEventEscritura Taules per a l
13. pBufRxTemp x guarda ltimo Byte if pRutinaAtencio 0 si existeix rutina d atencio pRutinaAtencio NumBytesBufRX pAquestObjecte NumBytesBufRX 0 else pBufRX NumBytesBufRX pBufRxTemp x if NumBytesBufRX gt LongBufRX PostMessage DestiMsg WM ERROR ACCES PORT 5 0 return else dwResult GetLastError if dwResult ERROR IO PENDING PostMessage DestiMsg WM ERROR ACCES PORT 4 dwResult return BOOL CRS232 TX BYTE pCadena int NumBytes BOOL transparencia BOOL result DWORD bytes escritos error int Xx Ji COPLAE Butte for x 0 x lt NumBytes x pBufTX x pCadena x NumBytesBufTX NumBytes if EspiaHabilitat TRUE pEspAtenTX NumBytesBufTX pBufTX T WSOP ure al RS23 Die e result WriteFile m_idDisCom pBufTX NumBytesBufTX s bytes escritos soverEscritura if result FALSE error GetLastError if error ERROR_IO PENDING result TRUE return result int CRS232 RXnumBytes return NumBytesBufRX int CRS232 RXcopia BYTE pCadena int x for x 0 x lt NumBytesBufRX x pCadena x pBufRX x return NumBytesBufRX BOOL CRS232 TXacabat DWORD dwResult dwResult WaitForSingleObject hEventEscritura 0 retorn inmediat ResetEvent hEventEscritura WAIT OBJECT O The state of the specified object is signaled WAIT TIMEOUT The time out elapsed and the event is nonsignaled
14. 1 i lt pDoc gt m_nVinPuntos nMux i j i nMux pCanal gt nCanal x int j dTMuestreo sizeRango cx 0 1 s dValueTimeDiv pCanal gt nFactorX En ms y int pDoc gt m_pVin j sizeRango cy 0 1 s_dValueCanal pCanal gt nFactorY En V Para no salirse del tamafio del fondo if y gt nYmax y nYmax if y lt nYmax 4 y nYmax if x gt sizeRango cx x SizeRango cx if x lt sizeRango cx x SizeRango cx pDC gt LineTo CPoint x y En coordenadas l gicas pDC gt SelectObject pOldPen AAA AAA AIDA IA II TATA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA ATTA TTT CScopeView drawing void CScopeView OnDraw CDC pDC GetClientRect m_rectClientHimetric 0 0 Ancho Alto pDC gt SetMapMode MM_ISOTROPIC Relaci n 1 1 pDC gt SetWindowExt s_sizeRangoHimetricPaint Rango de visualizaci n pDC gt SetViewportExt m_rectClientHimetric right m_rectClientHimetric bottom pDC gt SetViewportOrg 0 m_rectClientHimetric bottom 2 Origen pDC gt DPtoLP m_rectClientHimetric De unidades l gica a dispositivo pixels m_rectClientHimetric NormalizeRect Normalizaci n del rect ngulo CSize sizeClientHimetric m rectClientHimetric Size Obtiene el tama o int nSizeMinLogical Se obtiene el tama o m nimo if sizeClientHimetric cy gt sizeClientHimetric cx nSizeMinLogical sizeClientHimetric
15. 34 3f s dValueCanal pSlide gt GetPos SetDlgItemText IDC_STATIC_TRACK_CANAL3 strText m_pTXCambio 2 TRUE OnApply break case IDC TRACKBAR CANAL4 strText Format 34 3f s dValueCanal pSlide gt GetPos SetDlgItemText IDC_ STATIC TRACK CANAL4 strText m_pTXCambio 3 TRUE OnApply break void CControlDlg OnControlManual Habilita el control manual UpdateData TRUE if m_bControlManual m_pTXCadena 0 0x10 else m_pTXCadena 0 0x00 MiApply void CControlDlg OnScopeDisparo Para realizar el muestreo UpdateData TRUE if m_bControlManual m_pTXCadena 0 0x18 MiApply IDISIA SALVA DD VAL ADA AA AAA AAA AAA AAA AAA INVI AAA AAA AAA Funciones para la transmisi n void CControlDlg OnScopelnteractivo Cuando esta habilitado este di logo a la vez que controla la vista hace lo mismo con la tarjeta de adquisici n de datos UpdateData TRUE if m_bInteractivo Se grea un temporizador que en cada time out enviara a la tarjeta una By para cambiar su estado si es necesario m_nTimer SetTimer 1 1000 ms NULL ASSERT m_nTimer 0 else Destruye el timer KillTimer m_nTimer void CControlDlg MiApply Envia el mensaje a la vista para que sta realice una transmisi n if m_pView NULL Caso no modal UpdateData TRUE m_pView gt PostMessage
16. Se ha utilizado la estructura b sica de un amplificador inversor cuya resistencia de realimentaci n puede ser escogida mediante un multiplexor anal gico como se muestra en la siguiente figura 67 C37 ila 2V x law y 32 114 RO 5K 1 4 RVO1 6K3 1 4W soba Pea RVO2 15K 1 4W GAS xa RVO3 33K 1 4W SA Fas RVO4 68K 1 4W AnS ei RVO5 200K 1 4 150K 1 4W i al RVO6 ol m if 100n 12V 330K Liaw RAA did RYO SO00K 1 4W C38 ox 119w R14 SS RVOS 6V L R15 USB Z R23 9K1 14W PFE 5 wea 10K 12W Ilustraci n 2 4 amplificador inversor de ganancia variable La funci n de transferencia de un amplificador inversor es la siguiente o w E LESS Z Ww O wx o T T e o ame VES VEE Donde R es la resistencia equivalente de una de las entradas del multiplexor y G es una de las ocho posibles ganancias Los diodos de las etapas de entrada limitan la se al en un rango de 6 6 6 6 V y como se ha expuesto anteriormente ocurrir una saturaci n en la electr nica si en alg n punto la se al excede el valor absoluto de 6V Cuando se de esta situaci n ser el momento de provocar una amplificaci n menor mediante el divisor de tensi n y o el amplificador de ganancia variable Siguiendo el criterio expuesto en el apartado anterior la tensi n m xima que se procesar en cualquier punto a partir del seguidor de tensi n de la etapa de entrada ser de 5V as se evita la zona poco lineal en los extr
17. else m_pEnableCH 1 FALSE else 4 if m_nCanal 2 cByteTX cByteTX amp OxBF 1011 1111 m_pEstadoCH 2 cByteTX if m_nEnable m_pEnableCH 2 TRUE else m_pEnableCH 2 FALSE else 1 m_pEstadoCH 3 cByteTX if m_nEnable m_pEnableCH 3 TRUE else m_pEnableCH 3 FALSE void CActuarDlg ScopeSimular Funci n para crear un trama si se desea simular Para observar el resultado es necesario cortocircuitar s TX y RX del puerto serie configurado los pine m_pCadenaTX m_pCadenaTX m_pCadenaTX m_pCadenaTX m_pCadenaTX m_pCadenaTX m_pCadenaTX OxFB 0x04 OxFB 0x04 m_pEstadoCH 0 m_pEstadoCH 1 m_pEstadoCH 2 lE 7 Trama de inicio By de estado JO 04 UN RO m_pCadenaTX m_pEstadoCH 3 double pi 3 1415926535 if m_pEnableCH 3 4 canales BYTE byteAux 0x00 BYTE byteAux2 0x0a int nContador 0 for int i 0 i lt m_nNumBytesTX 12 4 i m_pCadenaTX 4 i 8 BYTE 128 120 sin 10 i 2 pi m_nNumBytesTX 12 m_pCadenaTX 4 i 9 BYTE 128 60 sin 25 i 2 pi m_nNumBytesTX 12 m_pCadenaTX 4 i 10 byteAux byteAux 3 m_pCadenaTX 4 i 11 byteAux2 if nContador 2 nContador 0 if byteAux2 0x0a byteAux2 OxF0 else byteAux2 0x0a nContador else if m_pEnableCH 1 2 canal f
18. tundef THIS FILE static char BASED CODE THIS FILE _ FILE endif AAA AAA AAA AAA AAA ATT LA ATT TATA TTT TTT ATTA TT TTT CPersistentFrame const CRect CPersistentFrame s rectDefault 10 10 500 400 const char CPersistentFrame s profileHeading Tama o ventana const char CPersistentFrame s profileRect Rect const char CPersistentFrame s profilelcon icono const char CPersistentFrame s profileMax max const char CPersistentFrame s profileTool herramienta const char CPersistentFrame s profileStatus estado IMPLEMENT DYNAMIC CPersistentFrame CFrameWnd BEGIN MESSAGE MAP CPersistentFrame CFrameWnd AFX_MSG MAP CPersistentFrame ON_WM_DESTROY AFX_MSG MAP END MESSAGE MAP III IADIPIL AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA CPersistentFrame CPersistentFrame m_bFirstTime TRUE ALLMAALA LA XLACAL AA LUA AAA AAA AAA AAA UALL TTA TTT ATTA TTT CPersistentFrame CPersistentFrame AAA III III III II ATT AAA AAA AAA AAA AAA AAA AAA AAA AAA void CPersistentFrame OnDestroy CString strText BOOL bIconic bMaximized WINDOWPLACEMENT wndpl wndpl length sizeof WINDOWPLACEMENT Obtiene la posici n actual de la ventana y su estado iconizada maximizada BOOL bRet GetWindowPlacement amp wndpl if wndpl showCmd SW_SHOWNORMAL conic FALSE Maximized FALSE O O else if wndpl showCmd SW SHOWMAXIMIZED
19. void CScopeDoc ScopeCrearVin Crea el vector con el puntero m_pVin con doubles Los valores est n en V ms y los utilizara la vista para dibujar los canales en OnDraw y OnPrint ScopeDecodificarTramaRX 0 Se decodifican ScopeDecodificarTramaRX ScopeDecodificarTramaRX ScopeDecodificarTramaRX 1 2 los canales 3 7 7 int nNumCanales Ty los bytes de estado de cada uno de if m_pCanalDoc 1 bEnable nNumCanales 2 if m_pCanalDoc 3 bEnable nNumCanales 4 if nNumCanales 1 for int i 0 i lt m_nVinPuntos i m_pVin i double m_arrayMuestras i 4 5 255 2 5 s_dValueGanancia m_pCanalDoc 0 nGanancia s dValueDivisor m_pCanalDoc 0 nDivisor else if nNumCanales 2 int nVinPuntos m_nVinPuntos 2 for int i 0 i lt nVinPuntos itt m_pVin 2 i double m_arrayMuestras 2 i 4 5 255 2 5 s_dValueGanancia m_pCanalDoc 0 nGanancia s dValueDivisor m_pCanalDoc 0 nDivisor m_pVin 2 i 1 double m_arrayMuestras 2 i 5 5 255 2 5 s_dValueGanancia m_pCanalDoc 1 nGanancia s_dValueDivisor m_pCanalDoc 1 nDivisor else int nVinPuntos m_nVinPuntos 4 for int i 0 i lt nVinPuntos itt m_pVin 4 i double m_arrayMuestras 4 i 4 5 255 2 5 s_dValueGanancia m_pCanalDoc 0 nGanancia
20. DWORD BytesLlegits events232 int Bytes X BYTE pBufRxTemp LON_BUF_RX232 TEMP events Event hEventl CreateEvent NULL pointer to security attributes TRUE manual reset event FALSE flag for initial state NULL pointer to event object name overlapped overl Offset 0 overl OffsetHigh 0 overl hEvent hEvent1 while TRUE if PortObert FALSE return 77 Preparar mascata event aaa ata ara bitResult SetCommMask m_idDisCom EV_RXCHAR Esta funci n especifica un juego de eventos para ser monitorizado para una comunicaci n de dispositivo BOOL SetCommMask HANDLE hFile handle of communications device DWORD dwEvtMask mask that identifies enabled EV RXCHAR A character was received and placed in the input buffer if bitResult FALSE dwResult GetLastError if dwResult ERROR IO PENDING PostMessage DestiMsg WM_ERROR_ACCES_PORT 1 dwResult return Jf indicar espera event rese en u ei Besse A A AA E ce we eae bitResult WaitCommEvent m_idDisCom handle dispos comunicacions amp events232 adreca per events rebuts soverl adreca estruct overlapped Esta funci n espera a un evento que ocurre al dispositivo especificado de comunicaciones El juego de eventos que son monitorizados por esta funci n est contenido en la m scara de eventos asociados
21. E EA 0 X 0 Xs ES 0 ET1 0 EX1 0 ETO 0 EX0 0 Habilito solo la interrupci n serie y todas aquellas que est n a uno solo la serie E EA l X 0 X 0 ES 1 A ET1 0 EX1 0 ETO 0 EX0 0 Si reset gt IP Interrupt Priority Register XXX0 0000 b IP X x XiX XIX PS 0 PT1 0 PX1 0 PTO 0 PXO 0 Timer 1 Disparado por soft y modo 8b con autorrecarga Si reset gt TMOD Timer Counter Mode Control Register 00 H TMOD GATE 0 C T 0 M1 1 MO 0 TIMER 1 GATE 0 C T 0 M1 0 MO 0 TIMER O Si reset gt TCON Timer Counter Control Register 00H TCON TF1 0 TR1 0 TFO 0 TRO 0 IE1 0 IT1 0 IEO 0 ITO 0 e a Fin Programaci n del Timer e Interrupciones mov IE 90H pa mov TMOD 20H NESE PP ae Programaci n del interfaz de comunicaciones serie mov SCON 50H Modo 1 UART 8 bits 1b start 8b datos y 1b stop SM2 0 Un solo procesador REN 1 Habilito la recepci n serie TI 0 Buffer de transmisi n disponible RI 0 Buffer de recepci n libre Velocidad de comunicaci n variable con Timer 1 Si reset gt SCON Serial Port Control Register 00 H SCON SMO 0 SM1 1 SM2 0 REN 1 TB8 0 RB8 0 TI 0 RI 0 mov PCON 80H Timer 1 a frecuencia boble Si reset gt PCON Power Control Register 0OXXX00000 B PCON SMOD 1 X 0 X 0 X 0 GF1 0 GF0 0 PD 0 IDL 0 mov TL1 FAH Para Timer 1 generador de baudios o bits s mov TH1 FAH Tabla de velocidad de comunicaci n T
22. El presente pliego de Condiciones tiene por objeto definir al contratista el alcance del trabajo y la ejecuci n cualitativa del mismo El alcance del trabajo del Contratista incluye el dise o y preparaci n de todos los planos diagramas lista de material y requisitos para la adquisici n e instalaci n del trabajo 5 1 2 REGLAMENTOS Y NORMAS Todas las unidades de obra se ejecutaran cumpliendo las prescripciones indicadas en los Reglamentos de Seguridad y Normas T cnicas de obligado cumplimiento para este tipo de instalaciones tanto de mbito nacional auton mico como municipal as como todas las otras establecidas en el proyecto Se adaptar n adem s a las presentes condiciones particulares que complementar n las indicadas por los Reglamentos y Normas citadas 5 1 3 MATERIALES Todos los materiales empleados ser n de primera calidad cumplir n las especificaciones y tendr n las caracter sticas indicadas en el proyecto y en las normas t cnicas generales Toda especificaci n o caracter stica de materiales que figuren en uno solo de los documentos del Proyecto a n sin figurar en los otros es igualmente obligatoria En caso de existir contradicci n u omisi n en los documentos del proyecto el contratista obtendr la obligaci n de ponerlo de manifiesto al T cnico Director de la obra quien decidir sobre el particular En ning n caso podr suplir la falta directamente sin la autorizaci n expresa No podr utiliza
23. T cnico Director de la obra El Contratista tendr el n mero y clase de operarios que haga falta para el volumen y naturaleza de los trabajos que se realicen los cuales ser n de reconocida aptitud y experimentados en el oficio El Contratista estar obligado a separar de la realizaci n del proyecto a aquel personal que a juicio del T cnico Director no cumpla con sus obligaciones realice el trabajo defectuosamente bien por falta de conocimientos o por obrar de mala fe 5 3 3 RECONOCIMIENTO Y ENSAYOS PREVIOS Cuando lo estime oportuno el T cnico Director podr encargar y ordenar el an lisis ensayo o comprobaci n de los materiales elementos o instalaciones bien sea en f brica de origen laboratorios oficiales o en la misma obra seg n crea m s conveniente aunque estos no est n indicados en este pliego En el caso de discrepancia los ensayos o pruebas se efectuar n en el laboratorio oficial que el T cnico Director de obra designe Los gastos ocasionados por estas pruebas y comprobaciones ser n por cuenta del Contratista 5 3 4 ENSAYOS Antes de la puesta en servicio del sistema el ctrico el Contratista habr de hacer los ensayos adecuados para probar a la entera satisfacci n del T cnico Director del proyecto que todo el equipo aparatos y cableado han sido instalados correctamente de acuerdo con las normas establecidas y est n en condiciones satisfactorias para le funcionamiento Todos los ensayos ser n prese
24. UpdateData TRUE m_pView gt PostMessage WM GOODBYE ACTUAR IDOK else CDialog OnOK Caso modal void CActuarDlg OnLimpiarin Lim m_strEditRX UpdateData FALSE void CActuarDlg OnLimpiarout Lim m_strEditTX UpdateData FALSE void CActuarDlg OnEnablein Actualiza los datos del di logo UpdateData TRUE void CActuarDlg OnEnableout Actualiza los datos del di logo UpdateData TRUE void CActuarDlg OnEnviar piar cuadro de edici n de entrada piar cuadro de edici n de salida Prepara los datos que ser n enviados if m_pView NULL char pcTX 10 UpdateData TRUE Caso no modal Recoger datos del di logo if m_bSimula Simulaci n m_nNumBytesTX 1024 Envio 1KBy ScopeSimular if m_bEnableOut _itoa m_pCadenaTX 0 pcTX 16 m_strEditTX pcTX m_strEditTX for int i 1 i lt m_nNumBytesTX i _itoa m_pCadenaTX i pcTX 16 m_strEditTX pcTX m_strEditTX m_strEditTX n _itoa m_nNumBytesTX pcTX 16 m_strEditTX pcTX else Sin simulaci n m_nNumBytesTX 1 Envio un By if m_nCanal 0 m_pCadenaTX 0 m_pEstadoCH 0 else lt 1 if m_nCanal 1 m_pCadenaTX 0 m_pEstadoCH 1 else 4 if m_nCanal 2 m_pCadenaTX 0 m_pEstadoCH 2 else 1 m_pCadenaTX 0 m_pEstadoCH 3 if m_bEnableOut _itoa m_p
25. WM GOODBYE CONTROL IDC _MIAPPLY void CControlDlg OnTimer UINT nIDEvent Se entra aqui cada Time out de esta forma se evita Enviar una cantidad excesiva de By UpdateData TRUE if m_nCanales 0 if m_pTXCambio 0 ScopeCodificarTramaTX 0 Codificar el By a enviar MiApply Se envia el By if m_nCanales 1 if m_pTXCambio 0 ScopeCodificarTramaTX 0 MiApply if m_pTXCambio 1 ScopeCodificarTramaTX 1 MiApply if m_nCanales 2 if m_pTXCambio 0 ScopeCodificarTramaTX 0 MiApply else if m_pTXCambio 1 ScopeCodificarTramaTX 1 MiApply else if m_pTXCambio 2 ScopeCodificarTramaTX 2 MiApply else if m_pTXCambio 3 ScopeCodificarTramaTX 3 MiApply m_pTXCambio 0 FALSE Se resetean los cambios m_pTXCambio 1 FALSE m_pTXCambio 2 FALSE m_pTXCambio 3 FALSE void CControlDlg ScopeCodificarTramaTX int nCanal Se codifica un By que posteriormente se enviara Para ello se leen los estados de las barras de deslizamiento BYTE cByteTX OxFF UpdateData TRUE int pAcDc new int 4 int pTrackbar new int 4 pAcDc 0 m_nAcDcCl pAcDc 1 m_nAcDcC2 pAcDc 2 m_nAcDcC3 pAcDc 3 m_nAcDcC4 pTrackbar 0 pTrackbar 1 pTrackbar 2 pTrackbar 3 m_nTrackbarCanall m_nTrackbarCanal2 m_nTrackbarCanal3 m_nTrackbarCanal4
26. m2 Vmin A pt A le ti J Ilustraci n 2 11 forma de onda aproximada del filtrado La pendiente de la segunda recta es ae Vmax Entonces bee Vmax Vmin NE _ R C AV i m m Vmax Por tri ngulos semejantes se encuentra T T T Vmin t gt t 2 2 2 Vmax y p2 R C AV r Vmin T14 tal TRA a i Vmax 2 2 Vmax 2 Sustituyendo T Y donde f es el n mero de pulsos por segundo el doble p de la frecuencia original se obtiene AV 1 AV 1 AV C 2 1 gt Vmax 2 f Vmax f 2 Vmax Defy R C 2 EERE AV AV 2 Vmax pero como AV lt lt 1 2 Vmax se desprecia el segundo t rmino para obtener 2 17 Vmax 2 T R C A _ AA SR AV O _ 2 a Vmax AV 2 a f R Esta f rmula representa una soluci n conservativa del problema de dise o si la l nea recta nunca pasa por debajo de Vmin la curva exponencial estar seguro por encima de este valor Una regla pr ctica que se utilizar en el dise o es elegir 5 Vmax ee OS Ecuaci n 2 4 AV 2 a f R 2 1 3 1 2 Dise o de una fuente de tensi n usando un circuito integrado Los reguladores de tensi n lineales se empaquetan como circuitos integrados CI se enfocar la atenci n sobre la serie L78XX Las hojas de especificaciones apropiadas aparecen en el ap ndice Se puede obtener varias tensiones diferentes 5 5 2 6 8 8 5 9 12 15 18 y 24 V Todo lo que se requiere para dise ar un regulador alrededor de uno de
27. mov R5 A Guardo A mov A 22H Cargo 22H anl A 29H Actualizo la parte baja de BC2 orl A 2AH Mediante las mascaras de 1s y Os mov 22H A Cambio 22H mov A R5 rlc A Obtengo E jc ENABLE2 A eg ee ee eae eee INHABILITADO Canal 2 setb 20H 0 Sin multiplexaci n ele 20m Solo canal 1 sjmp CANAL2 PTA A AAA Fin INHABILITADO Canal 2 Hino ado a nador o oo an don o don HABILITADO Canal 2 ENABLE2 clr 20H 0 Modo de multiplexaci n del Canal 1 y 2 setb 20H 1 Mediante TO y T1 HABILITADO Canal 2 CANAL2 rlc A jc FAC2ES1 clr 21H 5 BC1 FAC2 0 clr 22H 5 7 BC2 FAC2 0 clr 23H 5 7 BC3 FAC2 0 clr 24H 5 7 BC4 FAC2 0 sjmp FINRX FAC2ES1 setb 21H 5 BC1 FAC2 1 setb 22H 5 7 BC2 FAC2 1 setb 23H 5 7 BC3 FAC2 1 setb 24H 5 7 BC4 FAC2 1 sjmp FINRX a a O re da rel re Pa E re we re Fin CANAL A a e Ree eee eRe eRe ee eS FINRX SS O E Restaurar cont xto HSH mov A R3 o ER Fin Restaurar contextos 0 NAS reti pa FIN SERVICIO A LA INTERRUPCION DE COMUNICACIONES SSS 6 2 C DIGO DE ALTO NIVEL 6 2 1 CLASE CRS232 PILILI DIA DIA DIA DIA DA AA III INIA II III INIA III III III III III III III RS232v3 h ARA AAA AAA AAA AAA AAA AAA ATTA TATA TATA TATA TATA ATA AAT Clase creada por Ernest Gil y modificada por Ratl Bartolom
28. nWidthc 4 m_aPrintCanal 1 bRedC 255 m_aPrintCanal 1 bGreenc O m_aPrintCanal 1 bBlueC 0 m_aPrintCanal 2 nCanal 25 m_aPrintCanal 2 nFactorX 0 m_aPrintCanal 2 nFactorY 0 m_aPrintCanal 2 nWidthc 4 m_aPrintCanal 2 bRedC 0 m_aPrintCanal 2 bGreenC 255 m_aPrintCanal 2 bBlueC O m_aPrintCanal 3 nCanal 3 m_aPrintCanal 3 nFactorx 0 m_aPrintCanal 3 nFactorY 0 m_aPrintCanal 3 nWidthC 4 m_aPrintCanal 3 bRedC O m aPrintCanal 3 bGreenC O m_aPrintCanal 3 bBlueC 255 CScopeView CScopeView ScopeGuardarFicheroIni if m_pRs232 gt PortObert m_pRs232 gt TancarPort delete m_pControlDlg delete m_pActuarDlg void CScopeView OnInitialUpdate Se inicializan los datos miembros de los di logos Se entra tambi n despu s de nuevo documento m_pControlDlg gt m_nTrackbarCanall 0 m_pControlDlg gt m_nTrackbarCanal2 0 m_pControlDlg gt m_nTrackbarCanal3 0 m_pControlDlg gt m_nTrackbarCanal4 0 m_pControlDlg gt m_nTrackbarTimeDiv 0 m_pControlDlg gt m_nCanales 0 m pControlDlg gt m_bControlManual FALSE m_pControlDlg gt m_bInteractivo FALSE m_pControlDlg gt m_nAcDcCl 0 m_pControlDlg gt m_nAcDcC2 0 m_pControlDlg gt m_nAcDcC3 0 m_pControlDlg gt m_nAcDcC4 0 m_pActuarDlg gt m_nCanal 0 m pActuarDlg gt m_nDivisor 0 m_pActuarDlg gt m_nGanancia 0 m_pActuarDlg gt m_nDCAC
29. nop 7 1By 1CM djnz R7 RETARDO4 2By 2CM MUES24 MUES4 TOES14 T1ESIA TLESOA TOESO4 T1ESIB TLESOB YAMUX nop nop nop nop nop nop NT DPTR A elr movx jb TO TOES14 jnb TO TOESO4 nop nop jb T1 T1ESIA jnb T1 T1ESOA nop nop clr T mov A 31H sjmp YAMUX setb Tl mov A 33H sjmp YAMUX jb T1 T1ES1B jnb T1 T1ESOB nop nop nop mov A 34H sjmp YAMUX nop mov A 32H sjmp YAMUX TO R1 DPL mov R2 DPH mov DPTR 0000H movx DPTR A mov DPL R1 mov DPH R2 cpl mov inc DPTR mov A P setb INT mov 0 xr1 0 cjne H DPL H FCH RO mov 0 xr1 0 cjne H DPH H 83H RO ljmp FSAMPLER 7 CMtotal Fin Con multiplexacion de canales 1 0 MUES4 73 Ww w NNNANNNR RRA 3 73 NNRANDERRE 0 MUES24 By 1CM By 1CM By 1CM By 1CM By 1CM By 1CM By 1CM Disparo el A D By 2CM Guardo en memoria la muestra anterior By 2CM By 2CM By 2CM By 2CM By 1CM By 1CM TO By 1CM By 1CM By 2CM 0 1 By 1CM By 1CM By 2CM Il m Tl Il e T1 0 By 2CM By 2CM CM CM By 1CM By 1CM By 2CM 0 0 CM By 1CM By 2CM By By TO Tl Il o Il Hi T1 0 w lt TO el DPTR By 1CM CA2 de By 2CM Guardo By 2CM By 2CM de BCON By 2CM Act o sobre la electr nica By 2CM Restauro el DPTR By 2CM By 2
30. o de la vista Se dibuja el fondo de la ventana m_pCanalDoc 3 Enable SopeDrawChanel pDC pDoc amp m_aPaintCanal 0 4 s_sizeRangoMinimoPaint 0 044 SopeDrawChanel pDC pDoc amp m_aPaintCanal 1 4 s_sizeRangoMinimoPaint 0 044 SopeDrawChanel pDC pDoc m_aPaintCanal 2 4 s_sizeRangoMinimoPaint 0 044 SopeDrawChanel pDC pDoc m aPaintCanal 3 4 s_sizeRangoMinimoPaint 0 044 m_pCanalDoc 1 Enable SopeDrawChanel pDC pDoc amp m_aPaintCanal 0 2 s_sizeRangoMinimoPaint 0 034 SopeDrawChanel pDC pDoc amp m_aPaintCanal 1 2 s_sizeRangoMinimoPaint 0 034 SopeDrawChanel pDC pDoc amp m_aPaintCanal 0 1 s_sizeRangoMinimoPaint 0 019 Fin CScopeView OnDraw CDC pDC Ilustraci n 2 32 dibujar ventana vista 2 3 1 5 Dibujar un Canal Inicio CscopeView ScopeDrawChanel par metros CPen newPen PS_SOLID pCanal gt nWidthC RGB pCanal gt bRedC pCanal gt bGreenC pCanal gt bBlueC CPen pOldPen pDC gt SelectObject amp newPen pDC gt MoveTo CPoint pCanal gt nCanal dTMuestreo sizeRango cx 0 1 s_dValueTimeDiv pCanal nFactorX pDoc gt m_pVin pCanal gt nCanal sizeRango cy 0 1 s_dValueCanal pCanal gt nFactorY for i 1 i lt pDoc m_nVinPuntos nMux i j i nMux pCanal gt nCanal x j dTMuestreo sizeRango cx 0 1 s dValueTimeDiv pCanal gt nFactorX y pDoc gt m_pVi
31. return CDialog Create CActuarDlg IDD void CActuarDlg DoDataExchange CDataExchange pDX CDialog DoDataExchange pDX AFX_DATA_ MAP CActuarDlg DDX Radio pDX DC CANAL m_nCanal DDX_Radio pDX IDC DIVISOR m nDivisor DDX Radio pDX DC GANANCIA m nGanancia DDX Radio pDX IDC DCAC m_nDCAC DDX Text pDX IDC EDIT RX m_strEditRX DDX_Text pDX IDC EDIT TX m_strEditTX DDX_Check pDX IDC_ENABLE m_nEnable DDX Check pDX DC_CONTRAMAS m_bConTramas DDX_Check pDX DC_ENABLEIN m_bEnableln DDX_ Check pDX DC_ENABLEOUT m_bEnableOut DDX_Check pDX IDC_SIMULA m_bSimula AFX_DATA_ MAP BEGIN MESSAGE MAP CActuarDlg CDialog AFX_MSG MAP CActuarDlg ON_BN_CLICKED IDAPPLY OnApply ON_BN_CLICKED IDENVIAR OnEnviar ON_BN_CLICKED IDC_LIMPIARIN OnLimpiarin ON_BN_CLICKED IDC_LIMPIAROUT OnLimpiarout ON_BN_CLICKED IDC_ENABLEIN OnEnablein ON_BN_CLICKED IDC ENABLEOUT OnEnableout AFX_MSG MAP END MESSAGE MAP EVATATATT ALATA AS AAALATATAAAATL AAT AT AT AT LA AS AA TATA LT ELA ATTA AT AAT TS EA ASA AT ALAA CActuarDlg message handlers void CActuarDlg OnCancel if m_pView NULL Caso no modal no llamar a OnCancel de la clase de base m_pView gt PostMessage WM GOODBYE ACTUAR IDCANCEL else CDialog OnCancel Caso modal void CActuarDlg OnOK if m_pView NULL Caso no modal no llamar a OnOK de la clase de base
32. void CMainFrame Dump CDumpContext amp dc const CPersistentFrame Dump dc endif DEBUG LALA LLALA AAA AAAA A AAA AAA A AAAA AA ALAALA AAA AAA AAA AAA AAA AAA AAA AAA CMainFrame message handlers 6 2 5 CLASE CSCOPEVIEW scopeView h interface of the CScopeView class ELLA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA TTT TAT TTT ATT TAT TATA TAT TTT if defined AFX SCOPEVIEW_H DA985EEG_C77B_11D3_BB39 ACF5B442421C_ INCLUDED define AFX_SCOPEVIEW_H_ DA985EEG6_C77B_11D3_BB39 ACF5B442421C_ INCLUDED if MSC VER gt 1000 pragma once tendif _MSC VER gt 1000 class CControlDlg class CActuarDlg class CRS232 Declaraci n del hilo global UINT MiThread LPVOID Declaraci n de servicio interrupci n a RX global void OnRxChar int NumBytes CRS232 pRs232 Fin GLOBALES define WM DATA RX WM USER 12 class CScopeView public CView Para el interface de comuinicaciones private CRS232 m_pRs232 typedef struct Almacena estado RS232 int nPuerto int nBaudios int nParidad int nBitsCar int nBitsParada int nControlFlujo SCom SCom m_comRs232 typedef struct Para detectar la trama de inicio y final BOOL bBytel BOOL bByte2 BOOL bByte3 BOOL bByte4 BYTE bytePrimero BYTE byteSegundo BYTE byteTercero BYTE byteCuarto STrama STrama m_tramalnicio m_tramaFinal Detecta la trama de inicio y
33. 04H movx DPTR A inc DPTR mov A FBH movx DPTR A inc DPTR mov A 04H movx DPTR A inc DPTR mov A FBH movx DPTR A 83FD H 83FE H 783FF H LECTURA DE MEMORIA Y TRANSMISION POR EL CANAL SERIE DE 1024 DATOS mov DPTR 8000H Puntero a InicialMemoria movx A DPTR inc DPTR ljmp TRANS jnb TI ESPERA clr TL mov SBUF A movx A DPTR inc DPTR mov 0H DPL xrl 0H 01H Leo de memoria una muestra El gran cuello de botella Espera activa hasta fin de transmisi n If TI 0 then goto ESPERA Reset por soft del flag de fin de transmisi n Al finalizar la transmisi n se pone TI 1 por hard Leo de memoria una muestra 1By 2CM Incremento el puntero 3By 2CM En RO la parte baja de DPTR 3By 2CM RO xor 0H si son iguales gt RO 0 cjne RO 0 ESPERA 3By 2CM If RO O goto ESPERA mov 0H DPH xrl 0H 84H 3By 2CM En RO la parte baja de DPTR 3By 2CM RO xor 84 si son iguales gt RO 0 cjne RO 0 ESPERA 3By 2CM If RO O goto ESPERA SERVICIO A LA INTERRUPCION DE COMUNICACIONES soa SERVCOM SERVRI jb RI SERVRI reti jiii RO esta ocupado siii Rl esta ocupado iii R2 esta ocupado Es una transmisi n Es una recepci n La petici n se debe limpiar por hard La rutina utiliza R3 para salvar A LA rutina utiliza R4 para guardar SBUF Fin Salvar ntexto Sic mov A SBUF Leo el dato
34. 5 255 2 5 s_dValueGanancia m_pCanalDoc 1 nGanancia s dValueDivisor m_pCanalDoc 1 nDivisor m_pVin 4 i 2 double m_arrayMuestras 4 i 6 5 255 2 5 s_dValueGanancia m_pCanalDoc 2 nGanancia s dValueDivisor m_pCanalDoc 2 nDivisor m_pVin 4 i 3 double m_arrayMuestras 4 i 7 5 255 2 5 s_dValueGanancia m_pCanalDoc 3 nGanancia s dValueDivisor m_pCanalDoc 3 nDivisor void CScopeDoc ScopeDecodificarTramaRX int nCanal Decodifica los Bytes de estado situados despu s de la trama de inicio BYTE byteEstado byteEstado m_arrayMuestras nCanal Miro ACDC if byteEstado amp 0x01 0000 0001 m_pCanalDoc nCanal bACDCneg TRUE else m_pCanalDoc nCanal bACDCneg FALSE byteEstado m_arrayMuestras nCanal BYTE byteAux Miro G3 if byteEstado amp 0x02 0000 0010 GB 1 byteAux 0x04 0000 0100 else G3 0 byteAux 0x00 byteEstado m_arrayMuestras nCanal Miro G2 if byteEstado amp 0x04 0000 0100 G2 byteAux byteAux 0x02 0000 0010 else G2 0 byteAux byteAux amp OxFD JA ATIL ILOT byteEstado m_arrayMuestras nCanal Miro G1 if byteEstado 0x08 0000 1000 Gl byteAux byteAux 0x01 0000 0001 else Gl 0 byteAux byteAux amp OxFE ff LT LLLO m_pCanalDoc nCanal nGanancia int byteAux byteEstado m_arrayMuestra
35. 6 No utilizado BMOD 7 Cuadro 1 5 byte BMOD BCON BYTE DE CONTROL FAC4 FAC3 FAC2 FACI GANI GAN2 GAN3 AC DC Bit 0 AC DC Si AC DC 1 Modo DC con filtro paso bajo Si AC DC 0 Modo AC con filtro banda pasante Bit 1 GAN3 GAN3 GAN2 GANANCIA Bit 2 GAN2 Bit3 can 0 0 1 Si FACI 1 Canal 1 por el factor de 0 012 con divisor de tensi n Si FAC1 O Canal 1 por el factor de 1 sin divisor de tensi n Bit 5 FAC2 Si FAC2 1 Canal 2 por el factor de 0 012 con divisor de tensi n Si FAC2 O Canal 2 por el factor de 1 sin divisor de tensi n Si FAC3 1 Canal 3 por el factor de 0 012 con divisor de tensi n Si FAC3 O Canal 3 por el factor de 1 sin divisor de tensi n Si FAC4 1 Canal 4 por el factor de 0 012 con divisor de tensi n Si FAC4 0 Canal 4 por el factor de 1 sin divisor de tensi n Cuadro 1 6 byte BCON AC DC Bit 0 AC DC Si AC DC 1 Modo DC con filtro paso bajo Si AC DC 0 Modo AC con filtro banda pasante Bit 1 GAN3 GAN3 GAN2 Bit2 GANZ o o Bit 3 GANI Bit 4 FAC Si FAC 1 Canal referenciado por el factor de 0 012 con divisor de tensi n Si FAC 0 Canal referenciado por el factor de 1 sin divisor de tensi n Bit 5 E Bit 6 CHO Control de disparo modo manual Bit7 CHI para FAC Enable GAN1 TRIGGER o o 1 ReferenciadoCamall o O ReferenciadoCanal2 e inhabilitado Canal 2 o 1 1 ReferenciadoCanal2
36. A SBUF H No MASCO 0 0 i No MASCO 1 0 i No MASC0 2 0 No MASC0 3 0 MASC1 MASCO MASC1 MASC 0xFO Fin crear mascaras MASC0 0 1 MASC0 1 1 MASC0 2 1 MASC0 3 1 Ilustraci n 2 22 crear mascaras Inicio modo manual BMOD 2 0 BMOD 2 1 BMOD 3 1 Ilustraci n 2 23 modo manual BMOD 3 0 BCON1 4 0 BCON2 4 0 BCON3 4 0 BCON4 4 0 Inicio Canal 1 BEST1 SBUF BCONI BCON1 amp MASCI BCON1 BCON1 MASCO Ilustraci n 2 24 canal 1 BCON1 4 1 BCON2 4 1 BCON3 4 1 BCON4 4 1 Inicio Canal 2 BES2 SBUF BCON2 BCON2 amp MASCI BCON2 BCON2 MASCO BMOD 0 0 BMOD 1 1 BCON1 4 0 BCON1 4 1 BCON2 4 0 BCON2 4 1 BCON3 4 0 BCON3 4 1 BCON4 4 0 BCON4 4 1 Ilustraci n 2 25 canal 2 BCON1 4 0 BCON2 4 0 BCON3 4 0 BCON4 4 0 Inicio Canal 3 BEST3 SBUF BCON3 BCON3 amp MASCI BCON3 BCON3 MASCO Ilustraci n 2 26 canal 3 BCON1 4 1 BCON2 4 1 BCON3 4 1 BCON4 4 1 Inicio Canal 4 BES4 SBUF BCON4 BCON4 amp MASCI BCON4 BCON4 MASCO BMOD 0 0 BMOD 1 0 BEST4 4 BCON1 4 0 BCON1 4 1 BCON2 4 0 BCON2 4 1 BCON3 4 0 BCON3 4 1 BCON4 4 0 BCON4 4 1 Ilustraci n 2 27 canal 4 2 2 2 PERIODOS DE MUESTREO El procedimiento seguido para determinar los periodos de muestreo es el siguiente La frecuencia
37. AAA CScopeView double CScopeView s dValueCanal 14 0 005 0 01 0 02 0 05 01 052 O65 TL 2 5 10 20 50 100 En V div double CScopeView s dValueTimeDiv 7 0 05 0 1 0 2 Oy iZ Shs En ms div Tama o l gico visualizaci n CSize CScopeView s sizeRangoHimetricPaint CPoint 1000 1000 Para el registro const char CScopeView s profileHeadingCom Configuracion RS232 const char CScopeView s profileCom Puerto const char CScopeView s profileBaudios Baudios Para Interface comunicaci n GLOBAL Definici n del puntero pOnRxChar void g pOnRxChar int CRS232 amp OnRxChar Creaci n del objeto RS232 y puntero CRS232 g pRs232 new CRS232 1024 1024 Definici n de puntero a el Thread CWinThread g _pMiThread Definici n de puntero a la vista CScopeView g _pView Definici n del hilo UINT MiThread LPVOID pParam CRS232 punteroRs232 CRS232 pParam punteroRs232 gt Thread_ Att _RS232 return 0 ee en ees Fin GOOBAL IMPLEMENT DYNCREATE CScopeView CView BEGIN MESSAGE MAP CScopeView CView ON_MESSAGE WM GOODBYE CONTROL OnScopeControlGoodbye ON_MESSAGE WM_GOODBYE_ACTUAR OnScopeActuarGoodbye ON_MESSAGE WM ERROR ACCES PORT OnScopeErrorAccesPort ON MESSAGE WM DATA RX OnScopeDataRX AFX_MSG_MAP CScopeView ON COMMAND ID SCOPE ACTUAR OnScopeActuar ON UPDATE COMMAND
38. Archivo se tiene acceso a estas caracter sticas Su utilizaci n es equivalente a la de otras aplicaciones Microsoft Windows e ADVERTENCIA No es recomendable utilizar el di logo de Control avanzado si no est seguro de sus consecuencias 1 6 CARACTERISTICAS OBTENIDAS Escalas de tensi n en voltios 0 005 0 01 0 02 0 05 0 1 0 2 0 5 1 2 5 10 20 50 100 La frecuencia maxima de muestreo 52 KHz Escalas de tiempo en mili segundos 0 05 0 1 0 2 0 5 1 2 5 La tensi n m xima aproximada medible 310 V 2 MEMORIADE C LCULO 2 1 HARDWARE 2 1 1 CIRCUITER A DIGITAL El esquema presentado a continuaci n ilustra este apartado HV 2 1002 10 TOR LAW A vos TL gaaja TA SAA EXPURATERSRES DE DEL DES DB DBS DB D57 w3 VR LAW GRUeeRReY gejalslsjejaje Ilustraci n 2 1 circuiter a digital Existen pocos c lculos que realizar sobre la electr nica digital Por simple inspecci n se pueden determinar las direcciones de la memoria externa Direcci n inicial de la memoria externa 1xx0 0000 0000 0000 b 0x8000 Direcci n Final de la memoria externa 1xx1 1111 1111 1111 b 0x8FFF Para mapear en memoria el lach Ul9 que es el encargado de gestionar la electr nica anal gica se utiliza una puerta NOR de tal forma que s lo cuando A15 0 y WR 0 se lachea el contenido del puerto cero Para conseguir una tensi n de referencia estable en el terminal
39. CScopeView OnUpdateScopeComunicacion CCmdUI pCmdUTI if m_bOnComunicacionDlg pCmdUI gt SetCheck 1 else pCmdUI gt SetCheck 0 LILA DOM ALMA LA AA AU A A LAMA A AA A ATTA TTT TTA TTT AA LA UA LA NA MC AL A LA TTT TTT Funciones de recepci n void OnRxChar int nNumBytes CRS232 pRs232 Rutina de atenci n al canal serie Es global Manda un mensaje a la vista por cada BYTE recibido BYTE pCadena 1024 pRs232 gt RXcopia pCadena for int j 0 j lt nNumBytes j g_pView gt PostMessage WM DATA RX pCadena j j LRESULT CScopeView OnScopeDataRX WPARAM wParam LPARAM lParam Mensaje recibido por cada recepci n BYTE byteValor BYTE wParam char pcRX 10 CScopeDoc pDoc GetDocument UpdateData TRUE if m_pActuarDlg gt m_bConTramas Con trama de inicio y final if m_tramaInicio bByte4 Trama inicio detectada ScopeDetectarTrama amp m_tramaFinal byteValor if m_tramaFinal bByte4 Trama final detecatda gt fin m_tramaInicio bBytel FALSE Reset m_tramaInicio bByte2 FALSE m_tramaInicio bByte3 FALSE m_tramaInicio bByte4 FALSE m_tramaFinal bBytel FALSE m_tramaFinal bByte2 FALSE m_tramaFinal bByte3 FALSE m_tramaFinal bByte4 FALSE if m_bOnActuarDlg if m_pActuarDlg gt m_bEnableIn _itoa m_nIndiceRX 1 pcRX 16 m_pActuarDlg gt m_strEditRX fb n m pActuarDlg gt m_strEditRX pcRX By g
40. Control de disparo manual Referenciado Canal 1 Referenciado Canal 2 e in Referenciado Canal 2 y ha Frecuencia de muestreo va Referenciado Canal 3 Referenciado Canal 3 e in Referenciado Canal 4 y ha 1 gt Por el factor de 1 GAN3 GAN2 GAN1 GANANCIA DEL CANAL RE CH1 CHO Chien 0 ae fae ot fw 0 A E Enable E CH1 CHO 0 0 0 gt 1 0 0 gt Ya 0 gt 1 0 gt 0 1 0 gt 1 1 0 gt 0 1 gt AA Bahre gt FAC FAC pera Cerra 0 OS Q ai Bores 0 Q 1 1 1 Pa s gt 0 1 Q a 1 1 0 1 1 1 AC DC AC DC gt 0 5 gt 1 gt 2 gt 5 gt 10 gt 20 gt 50 gt 100 habil riabl habil litad bilitado Le Litad bilitados o Canal 2 Canal 2 gt FAC Enable GANI TRIGGER os Canales 2 3 y 4 Canales 2 3 y 4 0 gt Por el factor de 0 012 del Canal referenciado 0 gt Modo DC del Canal referenciado 1 gt Modo AC del Canal referenciado del Canal referenciado FERENCIADO El Byte de Modo BMOD especifica el modo de funcionamiento del osciloscopio de la siguiente manera BMOD 7 BMOD 6 BMOD 5 BMOD 4 BMOD 3 BMOD 2 BMOD 1 BMOD 0 BMOD 2 BMOD 2 org 00H 13mp INI Org 23H BMOD 1 0 gt 1 gt BMOD 0 MODO DE MULTIPLEXACION Y CANAL ES gt Sin multiplexaci n Canal 1 0 gt Con multiplexaci n Canales 1 y 2 a g
41. Dimensiones de los taladros 1 mm para los circuitos integrados y componentes discretos 1 25 mm para regletas y reguladores de tensi n 3 2 mm para los tornillos de los disipadores 4 mm para los taladros de sujeci n de la placa Todas las placas una vez salidas de producci n deber n ser testeadas de tal forma que el ndice de fallos en pistas sea inferior al 1 5 2 2 CONDICIONES DE LOS COMPONENTES ELECTR NICOS La premisa b sica a seguir en la compra de los componentes electr nicos es buscar componentes de marcas de reconocido prestigio y que posean un ndice de rechazo en producci n inferior al 20 As por ejemplo se recomienda la utilizaci n de componentes de la firma MOTOROLA o cualquiera de sus subsidiaras RCA AMD que hasta la fecha han demostrado un muy alto grado de fiabilidad de los componentes suministrados No se recomienda recurrir bajo ning n concepto a las pleyades de fabricantes de Oriente que han surgido en Corea Singapur Malasia etc puesto que en anteriores producciones han puesto de manifiesto un baj simo grado de fiabilidad d ndose el caso de encontrar partidas enteras de componentes que a los 6 meses de funcionamiento han fallado ntegramente 5 2 3 CONDICIONES DEL MONTAJE DE PLACAS El montaje de placas deber ser realizado por inserci n automatizada puesto que el ndice de errores es pr cticamente nulo no as cuando se recurre al montaje manual de componentes La sol
42. FLUJO 2 3 1 1 Recepci n de datos Inicio CRS 232Thread Att RS232 COLA DE ENTRADA DEL CANAL SERIE PO Rn Ro1 Rn2 R7 R6 R5 R4 R rR RO CRS232 Thread Att RS232 Evento en canal serie WaitForSingleObject Lectura de un bloque ClearCommError Si BLOQUE DE DATOS Copia un elemento del bloque de datos x 8 16 32 40 Puntero a datos pBufRxTemp Final copia Si Existe funci n de servicio Puntero a funci n g pOnRxChar Rutina de servicio a la recepci n serie OnRxChar Ilustraci n 2 29 recepci n de datos 2 3 1 2 Gesti n de trama Rutina de servicio a la recepci n serie env a x mensajes OnRxChar COLA DE MENSAJES DE LA VENTANA VISTA Rx Rect Rx2 oes R7 RG RS RAT RS R2 RI RO Mensaje Inicio CScopeView OnScopeDataRX ScopeDetectarTrama inicio Trama inicio detectada ScopeDetectarTrama final pDoc gt m_nVinPuntos i 8 pDoc ScopeCrearVin InvalidateRect Trama final detectada pDoc gt m_arrayMuestras i mensaje i gt Fin CScopeView OnScopeDataRX Ilustraci n 2 30 gestion de trama 2 3 1 3 Reconstrucci n de la se al de entrada Inicio CScopeDoc ScopeCrearVin Ilustraci n 2 31 reconstrucci n de la se al de entrada ScopeDecodificarTramaRX 0 ScopeDecodificarTramaRX 1 ScopeDecodificarTramaRX 2 ScopeDecodifica
43. GATE Timer 1 Timer 0 Mo Mi o f of o Temporizador de bis C p o 1 FemporizadorContadorde i a 1 0 remporizadoriConador de 8 bis con Aworecaea Bit 2 C T Selecciona temporizador o contador Si C T 0 entonces temporiza con los pulsos del reloj interno Si C T 1 entonces cuenta los pulsos que llegan por TO pin 14 Bit 3 GATE _ Habilita la entrada exterior INTO pin 12 Si GATE 1 entonces habilita INTO Si TRO 1 control por hard Si GATE 0 entonces inhabilita INTO Y depende s lo de TRO control por soft Configuracion del Timer 1 Igual que el Timer 0 sustituyendo TO por T1 pin 15 INTO por INT pin 13 TRO por TRI Cuadro 1 2 registro TMOD SCON SERIAL PORT CONTROL REGISTER Bit 7 SMO SM2 TBS Bit 0 RI Flag de interrupci n de la recepci n Se activa por hardware al finalizar la recepci n del 8 bit en el Modo O o hacia la mitad del intervalo de tiempo del bit de stop en los otros modos excepto ver SM2 Debe ser desactivado por software Flag de interrupci n de la transmisi n Se activa por hardware al finalizar la recepci n del 8 bit en el Modo O o hacia la mitad del intervalo de tiempo del bit de stop en los otros modos Debe ser desactivado por software Bit 2 RB8 En los Modos 2 y 3 es el 9 bit que se recibe En Modo 1 si SM2 0 RB8 es el bit de stop En Modo 0 no se utiliza Corresponde al 9 bit de datos en los Modos 2 y 3 Es programable por el usuario
44. Le Seguidamente se presenta el diagrama de Bode asint tico H1 S R1 R3 te Cl IH2 S F ee A 8 Ilustraci n 2 7 diagrama de Bode La se al que se pretende medir proviene de V por lo tanto la funci n de transferencia H S ser la que modifique sta La pulsaci n de corte 0c viene determinada por la frecuencia de Niquist para evitar el efecto de solapamiento o aliasing Esta frecuencia es igual a la mitad de la frecuencia m xima de muestreo soportada por el conversor anal gico digital El periodo de ciclo de conversi n en modo RD del conversor A D es To 2 548 gt fono 400KHz A ma SOOKE 200KHe Esta ser a la frecuencia de Niquist si el conversor A D trabajase al m ximo de sus posibilidades pero en el caso que nos ocupa es el microcontrolador el que fija la velocidad m xima de muestreo a 19 us este valor est escrito en la memoria de calculo apartado software de bajo nivel Tin 19 us gt smax 53KHz a S3IKHZ S wiquist 3 Entonces IT rad 2 71 26 5KHz wo 26 5KHz La pulsaci n de corte viene determinada por el modo de funcionamiento del osciloscopio en AC es decir se eliminan las bajas frecuencias Esta frecuencia de corte es de un valor t pico de 5Hz Er rad 2 1 5H2 We 08 Se desea que el filtro presente una ganancia unitaria por lo tanto Ba a 1 Ahora se est en disposici n de determinar la funci n de transferencia H S
45. MESSAG return CDialog Create CControlDlg IDD E MAP CControlDlg CDialog AFX_MSG MAP CControlDlg ON_BN_CLICKED IDAPPLY OnApply ON_BN_CLICKED IDC_CANALES OnCanall ON_BN_CLICKED IDC_RADIO2 OnCanall 2 ON BN CLICKED IDC RADIO3 OnCanall 2 3 4 ON WM HSCROLL ON WM VSCROLL ON BN CLICKED IDC DISPARO OnScopeDisparo ON BN CLICKED IDC INTERACTIVO OnScopelnteractivo ON_WM_TIMER ON_BN CLICKED IDC_ACDC_C1 OnAcdcC1 ON BN CLICKED IDC_ACDC_C2 OnAcdcC2 ON BN CLICKED IDC_ACDC_C3 OnAcdcC3 ON_BN_CLICKED IDC_ACDC_C4 OnAcdcC4 ON BN CLICKED IDC CONTROL MANUAL OnControlManual ON BN CLICKED IDC RADIO23 OnAcC1 ON BN CLICKED IDC RADIO24 OnAcC2 ON BN CLICKED IDC RADIO25 OnAcC3 ON BN CLICKED IDC RADIO26 OnAcC4 AFX MSG MAP END MESSAGE MAP DC_1 DC_1 p RAC RAC TRAC DC_1 RAC GetDlgItem IDC_TRAC BAR _CANAL1 BAR_CANAL2 BAR _CANAL3 BAR _CANALA BAR_TIMEDIV LVATISALATISASAAA TIS ST AA MA AA MA MAL ASS AAA ASA SAT ATS SAAT ASS ANAAL AS CSA AA LA A ALATA SAA CControlDlg message handlers BOOL CControlDlg OnInitDialog Inicializaci n del di logo CString strTextCanall CSliderCtr1 pSlideCanall CSliderCtr1 GetDlgItem IDC_TRACKBAR_CANAL1 pSlideCanall gt SetRange 0 13 pSlideCanall gt SetPos m_nTrackbarCanall1 strTextCanall Format 4 3f s dValueCanal pSlideCanall g
46. Presentar por impresora la informaci n adquirida mediante el perif rico 4 Guardar en memoria no vol til los datos 5 Configurar la comunicaci n serie 1 5 1 VENTANA DE MARCO PRINCIPAL La ventana de marco principal presenta el aspecto t pico de una aplicaci n Microsoft Windows por lo que al usuario no le costar familiarizarse con los aspectos espec ficos del programa Este marco tiene la caracter stica notable de ser persistente es decir recuerda la posici n tama o y estado de la ventana de marco as como de las barras de herramientas y estado y di logos asociados Esto se consigue utilizando el registro de Windows para almacenas estos datos en el disco duro 1 5 1 1 Barra de t tulo Esta barra presenta el icono de la aplicaci n el nombre del documento actual el nombre de la aplicaci n y los botones maximizar minimizar y cerrar Pulsando con el bot n izquierdo sobre el icono o con el bot n derecho sobre la barra se obtiene un men con los elementos Mover Tama o Maximizar Minimizar y Cerrar stos realizan las funciones t picas de cualquier aplicaci n de Microsoft Windows 95 1 5 1 2 Barra de men Posee cuatro elementos de men desplegables a continuaci n se describe sus funciones 1 Archivo 2 3 4 1 1 Nuevo crea un nuevo documento 1 2 Abrir abre un documento 1 3 Guardar guarda un documento en disco 1 4 Guardar como guarda un documento con el nombre deseado 1 5
47. UI ID SCOPE ACTUAR OnUpdateScopeActuar ON_COMMAND ID SCOPE CONTROL OnScopeControl ON UPDATE COMMAND UI ID SCOPE CONTROL OnUpdateScopeControl ON COMMAND ID SCOPE COMUNICACION CONFIGURAR OnScopeComunicacionConfigurar ON_COMMAND ID SCOPE COMUNICACION OnScopeComunicacion ON UPDATE COMMAND UI ID SCOPE COMUNICACION OnUpdateScopeComunicacion AFX MSG MAP Standard printing commands ON COMMAND ID FILE PRINT CView OnFilePrint ON COMMAND ID FILE PRINT DIRECT CView OnFilePrint ON COMMAND ID FILE PRINT PREVIEW CView OnFilePrintPreview END MESSAGE MAP LAAVA INAV U UVLO TTA ATTA TTA TTT TTA TTT SA TTT TTT ATT ATTA TTT TTT CScopeView construction destruction CScopeView CScopeView g_pView this 7 ScopeAbrirFicheroIni m_bOnComunicacionDlg m pRs232 g_pRs232 FALSE Estado e inicializacion de la trama de inicio a detectar m_tramaInicio bBytel FALSE m_tramaInicio bByte2 FALSE m_tramaInicio bByte3 FALSE m_tramaInicio bByte4 FALSE m_tramaInicio bytePrimero OxFB m_tramaInicio byteSegundo 0x04 m_tramaInicio byteTercero OxFB m_tramaInicio byteCuarto 0x04 Estado e inicializaci n de la trama final a detectar m_tramaFinal bBytel FALSE m_tramaFinal bByte2 FALSE m_tramaFinal bByte3 FALSE m_tramaFinal bByte4 FALSE m_tramaFinal bytePrimero 0x04 m_tramaFinal byteSegundo OxFB m_tramaFinal byteTercero 0x04 m_tramaFinal byteCuarto OxFB m_
48. UINT nIDEvent OnAcdcC1 OnAcdcC2 OnAcdcC3 OnAcdcC4 OnControlManual OnAcCl OnAcC2 OnAcC3 OnAcC4 7 7 7 DECLARE MESSAGE MAP y AFX_INSERT_LOCATION Microsoft Developer Studio will insert additional declarations immediately before the previous line tendif UINT nPos UINT nPos CScrollBar pScrollBar CScrollBar pScrollBar 7 7 Idefined AFX_CONTROLDLG_H__DA985EF0_C77B_11D3_BB39 ACF5B442421C_ INCLUDED ControlDlg cpp implementation file include stdafx h include scope h include ControlDlg h ifdef _DEBUG define new DEBUG_NEW undef THIS FILE static char THIS FILE endif _ FILE VILLAIN UA LALALALA LAL AAAA VAAI IAA LIAL NIL LALA IAL AAAA TLALI AL AIAI IALT CControlDlg dialog double CControlDlg s_dValueCanal 14 0 005 0 01 0 02 0 05 0 1 ORA O25 AL 2 07 107 207 505 100 double CControlDlg s_dValueTimeDiv 7 10007 On io 035 Lyn il DE BYTE CControlDlg s_ byteMascara 14 OxFF 0xF7 OxFB OxF3 OxFD OxF5 OxFl OxEB OxE3 OxED OxE5 OxE9 OxE1 BYTE CControlDlg s_ byteCanal 4 0x3F 0x7F OxBF OxFF CControlDlg CControlDlg CWnd pParent NULL CDialog CControlDlg IDD pParent AFX_DATA_INIT CControlDlg m_nCanales aL m_nAcDcCl 1 m nAcDcC2 1 m_ nAcDcC3 1 m_nAcDcC4 1 m_bInteractivo m_bControlManual AFX_DATA_INIT m_pView NULL FALSE FALSE
49. canales cada uno de ellos debe poseer su propio BCON Con este prop sito se utilizan cuatro bytes 21H 22H 23H y 24H denominados BCON1 BCON2 BCON3 y BCON4 La parte alta ser igual para todos pero la baja espec fica de cada uno BCON1 BCON2 BCON3 y BCON4 se establecen sin divisor de tensi n de entrada con la ganancia m nima y en modo DC Se definen cuatro Bytes de Estado 25H 26H 27H y 28H denominados BESTI BEST2 BEST3 y BESTA Estos bytes codifican el estado actual de cada canal Son recibidos desde el PC e informan sobre s cada canal debe estar habilitado o no s se aten an con el divisor de tensi n de su ganancia y del modo AC o CD La parte baja cada uno coincide con la parte baja de su BCON hom logo BEST1 BEST2 BEST3 y BESTA se configuran de tal forma que s lo el Canal 1 est habilitado todos los canales sin divisor de tensi n ganancia m nima y modo DC Como el Canal 1 siempre est habilitado entonces en el supuesto estado de inhabilitaci n se codifica el disparo del control manual Ocurre algo similar con el Canal 3 ya que este se ha subordinado al Canal 4 Se habilita o inhabilita el Canal 3 si lo est el Canal 4 en consecuencia se aprovecha est situaci n para codificar la orden de muestreo a frecuencia variable 2 Programaci n del interface de comunicaciones serie Inicialmente se habilita la interrupci n serie mediante el registro IE ya que la recepci n se gestionar de forma a
50. con el dispositivo handle BOOL WaitCommEvent HANDLE hFile handle of communications device LPDWORD lpEvtMask address of variable for event that occurred LPOVERLAPPED lpOverlapped address of overlapped structure 7 if bitResult FALSE dwResult GetLastError if dwResult ERROR IO PENDING PostMessage DestiMsg WM ERROR_ACCES PORT 2 dwResult return Vi INICIAL espera AA Aa chia we AD O dwResult WaitForSingleObject hEvent1l INFINITE ResetEvent hEvent1 if dwResult WAIT OBJECT_0 PortObert FALSE return Determinar numero de bytes rebutS o ooooooooooooo bitResult ClearCommError m_idDisCom amp dwResult amp COMSTAT 1 if bitResult FALSE PostMessage DestiMsg WM ERROR ACCES PORT 3 dwResult return Bytes a llegir observar posible overflow Bytes COMSTAT 1 cbInQue if Bytes gt LON_BUF_RX232 TEMP PostMessage DestiMsg WM ERROR ACCES PORT 5 0 return Jf elegir bytes ss e e bitResult ReadFile m_idDisCom handle al port pBufRxTemp buffer Bytes bytes a llegir amp BytesLlegits amp overl adreca estruct overlapped if EspiaHabilitat TRUE pEspAtenRX BytesLlegits pBufRxTemp J Tractament butter Seek a ATAN E Bee eS if bitResult TRUE buscar un EOF for x 0 x lt int BytesLlegits x if x int BytesLlegits 1 pBufRX NumBytesBufRX
51. conic FALSE Maximized TRUE oO Oo else if wndpl showCmd SW_SHOWMINIMIZED bIconic TRUE if wndpl flags bMaximized TRUE 10 lse bMaximized FALSE strText Format S04d 04d 04d 04d wndpl rcNormalPosition left wndpl rcNormalPosition top wndpl rcNormalPosition right wndpl rcNormalPosition bottom AfxGetApp gt WriteProfileString s profileHeading s profileRect strText AfxGetApp gt WriteProfileInt s_ profileHeading s profilelcon bIconic AfxGetApp gt WriteProfilelInt s profileHeading s profileMax bMaximized SaveBarState AfxGetApp gt m_pszProfileName CFrameWnd OnDestroy AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA SALES TATA TTT void CPersistentFrame ActivateFrame int nCmdShow CString strText BOOL bIconic bMaximized UINT flags WINDOWPLACEMENT wndpl CRect rect if m_bFirstTime m_bFirstTime FALSE strText AfxGetApp gt GetProfileString s profileHeading s profileRect if strText IsEmpty rect left atoi const char strText rect top atoi const char strText 5 rect right atoi const char strText 10 rect bottom atoi const char strText 15 else rect s_rectDefault bIconic AfxGetApp gt GetProfilelInt s profileHeading s profilelcon 0 bMaximized AfxGetApp gt GetProfilelInt s profileHeading s profileMax 0 if bIconic n
52. cx else nSizeMinLogical sizeClientHimetric cy CScopeDoc pDoc GetDocument Se obtiene el puntero a documento int nCanalMux 0 Canal 1 siempre activo if pDoc gt m_pCanalDoc 1 bEnable nCanalMux 1 if pDoc gt m_pCanalDoc 3 bEnable nCanalMux 3 Se dibuja el fondo ScopeBackground pDC CSize nSizeMinLogical nSizeMinLogical Unidades l gicas 0 RedB 0 GreenB 0 BlueB 1 WidthP 100 RedP 100 GreenP 100 BlueP Se dibuja el los canales en funci n del estado recibido de las muestras que fue procesado por el documento if nCanalMux 0 ScopeDrawChanel pDC pDoc m_aPaintCanal 0 1 s_sizeRangoHimetricPaint 0 019 En ms if nCanalMux 1 ScopeDrawChanel pDC pDoc m aPaintCanal 0 De Ss _sizeRangoHimetricPaint 0 034 En ms ScopeDrawChanel pDC pDoc m_aPaintCanal 1 2 s_sizeRangoHimetricPaint 0 034 En ms if nCanalMux 3 ScopeDrawChanel pDC pDoc m_aPaintCanal 0 4 s_sizeRangoHimetricPaint 0 044 En ms ScopeDrawChanel pDC pDoc m_aPaintCanal 1 4 s_sizeRangoHimetricPaint 0 044 En ms ScopeDrawChanel pDC pDoc m_aPaintCanal 2 4 s_sizeRangoHimetricPaint 0 044 En ms ScopeDrawChanel pDC pDoc m_aPaintCanal 3 4 s_sizeRangoHimetricPaint 0 044 En ms CATA T EST S TA SL PAISES TAISLA PT LES ATTA TTT ATA STS
53. de esta forma se evita una disipaci n excesiva del circuito integrado La regleta 3 posee el terminal 1 conectado a la masa del circuito digital que es cortocircuitado con a la masa anal gica para tener una referencia com n De este modo se minimizan las interferencias acaecidas en este ltimo por el primero Tambi n existe un diodo luminiscente para advertir del correcto funcionamiento del regulador de tensi n y as poder observar posibles p rdidas de tensi n 1 3 3 2 Fuente de tensi n de 6 y 6 voltios L7306C U12 av R44 220 ac 10 0 10 ac cl4 FUSE 2 J4 oe E 470 1 4W B40 C1500 1000 L7906CV 013 Ilustraci n 1 11 fuente de tensi n de 6 y 6 voltios Los razonamientos expuestos anteriormente son aplicables de igual forma en este apartado Cabe resalta la utilizaci n del L7906 que es el complementario del L7806 y el uso de un transformador con derivaci n de masa en el secundario En este caso el condensador de filtrado est formado por el equivalente en serie de Cll y C12 El resto de condensadores vienen definidos en las hojas de especificaciones del fabricante realizando stos funciones equivalentes a las del apartado anterior El terminal 2 de la regleta se cortocircuita con el terminal 1 de la regleta de la alimentaci n digital Tambi n se han un par de diodos luminiscentes para comprobar visualmente el estado de la alimentaci n 1 4 SOFTWARE DE BAJO NIVEL El
54. de funcionamiento del microcontrolador es de 12 MHz y cada ciclo m quina CM es de 12 periodos de reloj entonces 1 CM equivale al us Para determinar los periodos de muestreo de cada modo de multiplexaci n s lo es necesario sumar el n mero de CM entre muestras y posteriormente multiplicarlos por l us 2 2 2 1 Sin multiplexaci n s lo Canal 1 Si se sit a en el c digo en bajo nivel adjunto en el Anexo y observa el apartado sin multiplexaci n ver que cada instrucci n tiene asociada un comentario con el n mero de CM y Bytes asociados Sumando todos los CM entre muestra y muestra se obtiene CM total 1 2 2 1 1 2 2 2 2 2 2 19 CM o 19 us Por lo tanto el periodo de muestreo en este modo es de 19 us lo que da una frecuencia de muestreo aproximada de 52631 Hz 2 2 2 2 Multiplexaci n del Canal 1 y Canal 2 De forma an loga al apartado anterior CM total 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 34 CM o 34 us T muestreo 34 us o F muestreo 29411 Hz 2 2 2 3 Multiplexaci n del Canal 1 Canal 2 Canal 3 y Canal 4 Siguiendo el mismo procedimiento CM total 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 44 CM T muestreo 44 us o F muestreo 22727 Hz 2 2 3 TABLA DE VELOCIDADES DE COMUNICACI N Para establecer la frecuencia de comunicaci n en baudios se ha programado el interface serie en Modo 1 es decir UART de 8 bits con 1 bit de inicio 8 bits de datos y 1 bit de final Este modo implica t
55. e habilitado Canal 2 Frecuencia de muestreo variable A j1 Jo 1 ReferenciadoCanal3 Referenciado Canal 3 1 0 Referenciado Canal 4 e inhabilitado Canal 2 3 y 4 Cuadro 1 7 byte BEST 1 4 3 INICIALIZACI N En la inicializaci n estable la configuraci n por omisi n de la electr nica del perif rico Est formado por dos grupos ejecutados de forma secuencial 1 Programaci n del estado futuro de la electr nica anal gica Se hace uso de la sub rea direccionable bit a bit Esta esta comprendida entre las direcciones 20H y 2FH del area de direccionamiento directo e indirecto En el contenido de la direcci n 20H expresado como 20H se almacena el modo de funcionamiento del perif rico es decir si no se realizar multiplexaci n s lo habilitado el canal 1 si se realizara multiplexaci n de los canales 1 y 2 o de los canales 1 2 3 y 4 Tambi n establece si se realizar n muestreos y transmisiones indeterminadamente sin control manual o por el contrario si es el usuario el que da la orden para realizar una operaci n de muestreo y transmisi n con control manual Este byte se denominara Byte de Modo o BMOD BMOD se configura inicialmente sin multiplexaci n y sin control manual El lach mapeado en memoria que desde ahora se denominar Byte de Control o BCON establece el estado de los rel s de las etapas de entrada la ganancia aplicada en el amplificador inversor y el modo AC o DC Al existir cuatro
56. m_pActuarDlg gt DestroyWindow m_bOnActuarDlg FALSE else if m_pActuarDlg gt GetSafeHwnd O m_pActuarDlg gt Create muestra la ventana del di logo m_bOnActuarDlg TRUE void CScopeView OnUpdateScopeActuar CCmdUI pCmdUTI if m_bOnActuarDlg pCmdUI gt SetCheck 1 else pCmdUI gt SetCheck 0 LRESULT CScopeView OnScopeActuarGoodbye WPARAM wParam LPARAM lParam Mensaje recibido en respuesta a los mensajes del di logo avanzado if wParam IDCANCEL m_pActuarDlg gt DestroyWindow m_bOnActuarDlg FALSE if wParam IDOK m_pActuarDlg gt DestroyWindow m_bOnActuarDlg FALSE if wParam IDENVIAR BOOL bTransmit m_pRs232 gt TX m_pActuarDlg gt m_pCadenaTX m_pActuarDlg gt m_nNumBytesTX if bTransmit 0 char pcMensaje 100 wsprintf pcMensaje Error al escribir en el puerto serie MessageBox pcMensaje AfxGetAppName MB_OK MB_ICONSTOP return OL AA MALAS ALU IA APA XA AA VANA MA DA A MA AT AS AAA DADA NAAA ASIA DAA DIA APA DA A A SA MALA AC SADA SAA Di logos de comunicaci n void CScopeView OnScopeComunicacion Abrir o cerrar el puerto serie char pcMensaje 100 if m_bOnComunicacionDlg UpdateData TRUE if m_pControlDlg gt m_bInteractivo m_pRs232 gt TancarPort m_bOnComunicacionDlg FALSE wsprintf pcMensaje Puerto serie cerrado MessageBox pcMensaje AfxGetAppName MB OK MB_ICONI
57. recibido mov R4 A Guardo la recepci n evito error si recepci n E Com n para todos Los Cana les 0228920229222 esses se shes eases mov 2AH 00H Reset mascara Os de BC GLE E Reset del Carry rrc A Obtengo AC DC jc ACDCES clr 2AH 0 Mascara Os AC DC 0 YGAN3 rro A Obtengo G3 jc GAN3ES clr 2AH 1 Mascara Os G3 0 YGAN2 rrc A Obtengo G2 jc GAN2ES clr 2AH 2 Mascara Os G2 0 YGAN1 rrc A Obtengo Gl jc GAN1ES clr 2AH 3 Mascara Os Gl 0 ljmp FINCOMUN ACDCES1 setb 2AH 0 Mascara Os AC DC 1 sjmp YGAN3 GAN3ES1 setb 2AH 1 Mascara Os G3 1 sjmp YGAN2 GAN2ES1 setb 2AH 2 Mascara Os G2 1 sjmp YGAN1 GANIES1 setb 2AH 3 Mascara Os Gl 1 sjmp FINCOMUN FINCOMUN mov 29H 2AH 29H ser la mascara de 1s de BC orl 29H FOH 29H 1 1 1 1 G1 G2 G3 AC DC Mascara 1s 2AH 0 0 0 0 G1 G2 G3 AC DC Mascara Os La mascara de 1s pondra los ceros La mascara de Os pondra los unos PRT PT OT sSSs Fin Comun para todos los Canales ss gt st rst srs rss 99 92 S S ES mov A R4 Cargo el valor de recepci n Elric Reset del Carry rlc A Obtengo CH1 jc CH1ES1 rlc A jc CHOES1X Obtengo CHO sjmp SONO CHOES1X ljmp CHOES1 SONO CH1 CH0 0 rlc A Obtengo E jc ENABLE1 An Modo MANU E E O EA Da E E S E E O EE CH1 CHO E 0 rlc A jc MANUAL clr 20H 2 No manual 13mp FINRX MANUAL s
58. software de bajo nivel est formado por instrucciones interpretables por un ensamblador del microcontrolador 8x51 que una vez linkadas pueden ser ejecutadas por este circuito integrado Realizar la programaci n basada en el microcontrolador 8x51 da la posibilidad de que el software sea compatible en versiones del hardware con mas prestaciones 8x52 8x517 etc pero en contrapartida se desperdician facultades de stos ultimos En ste proyecto no se ha llegado a programar la EPROM del microcontrolador en su lugar se ha utilizado un emulador del 51 debido a la inexistencia en almac n de este circuito integrado 1 4 1 REGISTROS SFR UTILIZADOS SS en IS XA A AE re Si EXO 1 habilita interrupci n externa INTO Si EX0 0 inhabilita interrupci n externa INTO Si ETO 1 habilita interrupci n externa Timer 0 Si ETO O inhabilita interrupci n externa Timer 0 Si EX1 1 habilita interrupci n externa INT1 Si EX1 0 inhabilita interrupci n externa INTI Bit 3 ETI Si ET1 1 habilita interrupci n externa Timer 1 Si ET1 O inhabilita interrupci n externa Timer 1 Bit 4 ES Si ES 1 habilita interrupci n del puerto serie Si ES O inhabilita interrupci n del puerto serie Bit 7 EA Si EA 1 habilita individualmente las interrupciones que est n a uno SI EA 0 no reconoce ninguna interrupci n Cuadro 1 1 registro IE TMOD TIMER COUNTER MODE CONTROL REGISTER GATE cm m Mo
59. tr 91 5 3 5 ENSAYOS DE APARELLAJE o0oocococnonconionconccnnonccnnonnonncnncononnnononnronno nero ron ron rra nano rra nro 92 5 4 CONDICIONES ECONOMICAS encococononccononncnncnonnonncononnnoncon nico non DE ED ED ED DEREI DD rra nono rra nr nn ra nrnn ranas 93 5 4 1 PRECIOS tt nene ue te tel ene o da Do dt a o 93 5 4 2 ABONO DEL PROYECTO nanena a a a e a a iia 93 5 4 3 REVISI N DE PRECIOS e an 93 5 4 4 PENAEIZACION ES onte r a a Ene EI GOL ont a e aae Bo Ante a 93 5 4 5 CONTRATO tr o a AE n Posta e nte Rea 93 5 4 6 RESCISI N DPL CONTRATO isla 94 5 4 7 LIQUIDACION EN CASO DE RESCISION DEL CONTRATO cnoocccconconcnnninononincinninnonos 94 PINE PR TA E et Bla dave aot ts aten de o lo o E a do e stat societies und Gat ics 95 6 1 CODIGO DE BAJONIVEL 0 lr 9 6 22 CODIGO DE ALTO NIVEL ada 109 6 2 1 CLASE CROA oa a DA A AU A A A DD DU Sai EA 109 6 2 2 CLASE CSCOPEDOC peana das pa a a A ATIE GRA EAN DRA TALES GRA 120 6 2 3 CLASE CPERSISTENTERAME ici E ti 126 6 2 4 CLASECCMAINERAME cia 129 6 2 5 CLASE CSCOPREVIEW deserta asen pata decorada iii UI ULE RD EDS A ADULTA 132 6 2 6 CLASE ESCOPEDOC O A A a AE RA DD BD DU GRA DA ED DIE DR 151 6 2 7 CLASE CCON TROL D total sete ventas de deco a E 156 6 2 8 CLASE CACTUARDILG iii lia 165 6 2 9 CLASE CCONFIGCOMDL S das ona nas des deo de sede ici 173 7 BIBLIOGRAF A 1 MEMORIA DESCRIPTIVA 1 1 OBJETIVOS El objetivo de este proyecto es desarrollar una placa de adquisici n de datos anal gicos go
60. transmisi n Dentro de este lazo se encuesta el flag TI que indica el final de una transmisi n en curso para realizar una nueva El cuello de botella del conjunto del programa en ensamblador radica en este apartado ya que la velocidad de comunicaci n es baja No se puede enviar un gran n mero de muestras porque esto ocasionar a un tiempo de respuesta del perif rico excesivo grande 1 4 7 RECEPCI N La recepci n de informaci n se ha implementado mediante la interrupci n serie De esta manera existe la posibilidad del modo de funcionamiento manual y posterior disparo El byte recibido corresponde con el Byte de Estado referenciado Cuando ha acaecido una recepci n se carga el byte recibido y mediante la parte baja se crea una m scara de unos y otra de ceros que en funci n del canal referenciado se aplica a su correspondiente BCON Esto es as porque la codificaci n de los cuatro bits de menos peso del BEST recibido es id ntica para los cuatro canales Tambi n se actualizan todos los BCON de los canales en lo que respecta al control del rel direccionado bit 4 del BEST ya que la parte alta de los BCON es com n para todos los canales 1 5 SOFTWARE DE ALTO NIVEL El lenguaje de programaci n que se ha utilizado es el Microsoft Visual C 5 0 El programa implementado realiza las siguientes funciones 1 Controlar las funciones del perif rico 2 Presentar por pantalla la informaci n adquirida mediante el perif rico 3
61. voltios Existe la posibilidad de ajustar la tensi n positiva de referencia mediante el potenci metro multivuelta RV10 ste posee entre sus terminales una tensi n estable otorgada por el diodo zener DZO1 Obs rvese la segregaci n entre tensiones de masa anal gicas de las digitales de este modo se consigue menores interferencias entre s ya que sta ltima posee variaciones debidas a las conmutaciones de la electr nica digital 1 3 2 CIRCUITER A ANAL GICA 1 3 2 1 Etapas de entrada y multiplexaci n En la ilustraci n presentada se observan cuatro conectores BNC stos est n situados en el chasis del perif rico Los conectores se unen mediante un cable plano tipo D de 10 v as a un terminal PCB encapsulado de perfil bajo en configuraci n recta de 10 vias 100124 i HV 1000124 mih 1 LIGNN al 10212V o DOS TANtO0 INHOU 11 LIGHN i mg DINHO 8 INH g 335056858 In DINHO Tos DNH awp VES Di t es ay HIV B HH ESI 0I9 SECO ES274 059 SPEO BS274 059 SPEO s ELI BLS ca EL 0 Kaw IMAW NRW IMAW NRW KSI 20 Ki RL K7 ane liptov liptov 390K 12W 390K 1 2WW 390K 1 2WW 139 HIV 390K 1 2WW ESI74 059 CO KL Ilustraci n 1 7 etapas de entrada y multiplexaci n Existen cuatro etapas de entrada asociadas cada una a su correspondiente conector BNC Cada etapa est formada
62. 0 TRUE void CControlDlg OnAcdcC2 m_pTXCambio 1 TRUE void CControlDlg OnAcdcC3 m_pTXCambio 2 TRUE void CControlDlg OnAcdcC4 m_pTXCambio 3 TRUE void CControlDlg OnAcCl m_pTXCambio 0 TRUE void CControlDlg OnAcC2 m_pTXCambio 1 TRUE void CControlDlg OnAcC3 m_pTXCambio 2 TRUE void CControlDlg OnAcC4 m_pTXCambio 3 TRUE void CControlDlg OnHScroll UINT nSBCode UINT nPos CScrollBar pScrollBar Para la barra de deslizamiento ms div CSliderCtr1l pSlide CSliderCtr1 pScrollBar CString strText strText Format 3 2f s dValueTimeDiv pSlide gt GetPos SetDlgItemText IDC_ STATIC TRACK TIMEDIV strText OnApply void CControlDlg OnVScroll UINT nSBCode UINT nPos CScrollBar pScrollBar Para la barras de deslizamiento V div CSliderCtr1l pSlide CSliderCtrl pScrollBar CString strText Cuatro barras de seguimiento estan enviando mensajes switch pScrollBar gt GetDlgCtrlID case IDC_TRACKBAR_CANAL1 strText Format 34 3f s dValueCanal pSlide gt GetPos SetDlgItemText IDC_ STATIC TRACK CANAL1 strText m pTXCambio 0 TRUE OnApply break case IDC _TRACKBAR CANALZ2 strText Format 34 3f s dValueCanal pSlide gt GetPos SetDlgItemText IDC_STATIC_ TRACK CANAL2 strText m_pTXCambio 1 TRUE OnApply break case IDC _TRACKBAR CANAL3 strText Format
63. 0 100n 12 Ilustraci n 1 9 amplificador inversor sumador banda pasante o paso bajo La variable SENAL se dirige directamente al pin VIN del conversor A D para ser muestreada Este m dulo realiza varias funciones Mediante el multiplexor anal gico controlado por la l nea FIL1 proveniente del lach mapeado en memoria se puede seleccionar el modo de funcionamiento del osciloscopio en AC o DC stos corresponden al filtro banda pasante o filtro paso bajo respectivamente es decir si FIL es igual a cero entonces el funcionamiento es en DC en caso contrario es en AC El condensador C04 junto con R06 provocan un filtro paso bajo a la frecuencia de Niquist para evitar el solapamiento o aliassing El condensador C09 si se selecciona con el multiplexor ocasiona junto con la resistencia R04 un filtrado de bajas frecuencias para eliminar la componente continua de la se al El amplificador tiene tambi n la caracter stica de sumador sta le viene dada por el seguidor de tensi n formado por UOSC que est acoplado mediante ROS en el terminal negativo Esto es necesario debido a que el conversor trabaja en un margen de tensiones entre O y 5 voltios por lo tanto la tensi n en la salida del seguidor de tensi n deber ser de 2 5 voltios Para conseguir el voltaje de referencia deseada se ha implementado el potenci metro multivuelta RV09 que obtiene una tensi n estable mediante el diodo zener DZ02 De igual forma que en el apartado a
64. 10 pDC gt LineTo sizeBackground cx 4 sizeBackground cy 10 pDC gt MoveTo 0 3 sizeBackground cy 10 pDC gt LineTo sizeBackground cx 3 sizeBackground cy 10 pDC gt MoveTo 0 2 sizeBackground cy 10 pDC gt LineTo sizeBackground cx 2 sizeBackground cy 10 pDC gt MoveTo 0 1 sizeBackground cy 10 pDC gt LineTo sizeBackground cx 1 sizeBackground cy 10 pDC gt MoveTo 0 0 pDC gt LineTo sizeBackground cx 0 pDC gt MoveTo 0 1 sizeBackground cy 10 pDC gt LineTo sizeBackground cx 1 sizeBackground cy 10 pDC gt MoveTo 0 2 sizeBackground cy 10 pDC gt LineTo sizeBackground cx 2 sizeBackground cy 10 pDC gt MoveTo 0 3 sizeBackground cy 10 pDC gt LineTo sizeBackground cx 3 sizeBackground cy 10 pDC gt MoveTo 0 4 sizeBackground cy 10 pDC gt LineTo sizeBackground cx 4 sizeBackground cy 10 Vertical situada a la derecha del origen x pDC gt MoveTo sizeBackground cx 10 sizeBackground cy 2 pDC gt LineTo sizeBackground cx 10 sizeBackground cy 2 pDC gt MoveTo 2 sizeBackground cx 10 sizeBackground cy 2 pDC gt LineTo 2 sizeBackground cx 10 sizeBackground cy 2 pDC gt MoveTo 3 sizeBackground cx 10 sizeBackground cy 2 pDC gt LineTo 3 sizeBackground cx 10 sizeBackground cy 2 pDC gt MoveTo 4 sizeBackground cx 10 sizeBackground cy 2 pDC gt LineTo 4 sizeBackground
65. 565A J 100Hz Entonces sustituyendo en la ecuaci n 2 5 se obtiene C Mia Vo A gt _ ey coe AV 2 1 fy nl 1 2 7 100 lt 6 Omax 220Vacl8 Vac REGLETA 3 R43 360 1 4W Ys 220 Vac C15 C18 50 Hz ar 3301207 100n 10 FUSE 1 2 5m 20V B40 C1500 1000 Ilustraci n 2 13 fuente de tensi n de 5 voltios Para determinar la tensi n en el secundario del transformador se ha seguido el siguiente procedimiento 1 2 Vi as Sy trafo of ac donde el 1 2V proviene de la ca da de tensi n en directo de dos de los diodos del puente V rectificados y la aa para convertir los voltios de tensi n continua a tensi n alterna La obtenci n de la potencia maxima que disipa el transformador se determina de forma emp rica es decir se utiliza una fuente de tensi n de laboratorio para determinar la corriente que sta otorga y as poder escoger un transformador que se adecue lo m s posible a la corriente demandada De igual modo la corriente a la cual el fusible abre el circuito tambi n se determina de forma pr ctica Lora gt Prao Loora Vora 2 8 2W trafo La relaci n de transformaci n del transformador es Vo FORO we 6510 V vetrafo 220 Entonces 6 63 10 2 A El pin 3 de la regleta que corresponde a la masa digital se cortocircuitara con la masa anal gica para que ambas posean un mismo potencial El puente de diodos U17 soporta con creces la corriente que le atraviesa Las ten
66. A TT TTT TTT TTT ATTA TT TTT CScopeDoc int CScopeDoc s nMaxPoint 1024 double CScopeDoc s dValueDivisor 2 0 012 1 double CScopeDoc s dValueGanancia 8 0 5 1 2 5 10 20 50 100 IMPLEMENT DYNCREATE CScopeDoc CDocument BEGIN MESSAGE MAP CScopeDoc CDocument AFX_MSG_ MAP CScopeDoc ON UPDATE COMMAND UI ID FILE SAVE OnUpdateFileSave AFX MSG MAP END MESSAGE MAP ESTARE AAA ARA TAR ARA REA EEE ERE ALAA TALAIA AATAL CScopeDoc construction destruction CScopeDoc CScopeDoc CScopeDoc CScopeDoc BOOL CScopeDoc OnNewDocument TRACE En CScopeV1Doc OnNewDocument Xn if CDocument OnNewDocument return FALSE SDI documents will reuse this document m_nArrayPuntos 1024 Valor m ximo m_arrayMuestras SetSize m_nArrayPuntos Se utiliza una plantilla que tiene la propiedad de ser serializada para posteriormente guardarla o cargarla del disco m_nVinPuntos 0 m_pVin new double m_nArrayPuntos 12 Puntero para la vista En voltios m_pCanalDoc new SCanalDoc 4 Valores por omisi n de los canales m_pCanalDoc 0 nGanancia 0 m_pCanalDoc 0 nDivisor O m_pCanalDoc 0 bACDCneg FALSE m_pCanalDoc 0 bEnable FALSE m_pCanalDoc 1 nGanancia 0 m_pCanalDoc 1 nDivisor O m_pCanalDoc 1 bACDCneg FALSE m_pCanalDoc 1 bEnable FALSE m_pCanalDoc 2 nGanancia 0 m_pCanalDoc 2 nDivisor O m_pCa
67. CIONES Por retraso en los plazos de entrega de las obras se podr n establecer tablas de penalizaci n cuyas cuant as y demoras se fijar n en el contrato 5 4 5 CONTRATO El contrato se formalizar mediante documento privado que podr elevarse a escritura a petici n de cualquiera de las partes Comprender la adquisici n de todos los materiales transporte mano de obra medios auxiliares para la ejecuci n de la obra proyectada en el plazo estipulado as como la reconstrucci n de las unidades defectuosas la realizaci n de las obras complementarias y las derivadas de las modificaciones que se introduzcan durante la ejecuci n stas ltimas en los t rminos previstos La totalidad de los documentos que componen el Proyecto t cnico de la obra ser n incorporados al contrato y tanto el contratista como la Propiedad deber n firmarlos en testimonio de que los conocen y aceptan 5 4 6 RESCISI N DEL CONTRATO Causas de rescisi n Se consideran causas suficientes para la rescisi n del contrato las siguientes 1 2 3 4 5 6 a 8 9 10 Muerte o incapacitaci n del Contratista La quiebra del contratista Modificaci n del proyecto cuando produzca alteraci n en m s o menos 25 del valor contratado Modificaci n de las unidades de obra en n mero superior al 40 del original La no iniciaci n de los trabajos en el plazo estipulado cuando sea por causas ajenas a la Propiedad La suspensi n de l
68. CM Incremento el puntero By 1CM Leo el valor de la conversi n actual By 1CM En 500 ns el A D listo para otra conversi n 3By 2CM En 3By 2CM RO 3By 2CM If RO la parte xor FC si RO 0 baja de DPTR son iguales gt RO goto MUESTRA Il o 3By 2CM En 3By 2CM RO 3By 2CM If RO la parte xor 83 si RO 0 baja de DPTR son iguales gt RO goto MUESTRA Il o ADAL A A ld eee Ll ACM 2 SINMUX aa a aaa A ce ea Sin multiplexaci6 n mov A 31H Cargo la copia de BCON1 mov DPTR 0000H Direcci n del BCON movx DPTR A Actto sobre la electr nica con BCON1 mov R7 04H RETARDO1 nop nop nop nop djnz R7 RETARDO1 mov DPTR 8008H Direcci n inicial para los datos Quiero crear una trama de 1024 Bytes 71024 4 By trama inicial 4 By de Bytes de Estado x By de datos 4 By trama final gt 7x By de datos 1024 4 4 4 1012 D 3F4 H inicial datos 8008 H H final datos 8007 3F4 H 83FB H clr INT1 2By 1CM Disparo el A D nop 7 1By 1CM nop 7 1By LCM nop 1By 1CM Para esperar los 2 5 us mov A P1 2By 1CM Leo el valor de la conversi n setb INT1 2By 1CM En 500 ns el A D listo para otra conversi n nop 7 1By 1CM nop 7 1By 1CM nop 7 1By 1CM nop 7 1By 1CM nop 1By 1CM nop 7 1By 1CM nop 7 1By 1CM MUESTRA2 nop 7 1By 1CM nop 7 1By 1CM nop 7 1By 1CM nop 7 1By 1CM no
69. CScopeDoc int CScopeDoc s_nMaxPoint 1024 double CScopeDoc s dValueDivisor 2 0 012 1 double CScopeDoc s dValueGanancia 8 0 5 1 2 5 10 20 50 100 IMPLEMENT DYNCREATE CScopeDoc CDocument BEGIN MESSAGE MAP CScopeDoc CDocument AFX_MSG_ MAP CScopeDoc ON UPDATE COMMAND UI ID FILE SAVE OnUpdateFileSave AFX MSG MAP END MESSAGE MAP AAA CScopeDoc construction destruction CScopeDoc CScopeDoc CScopeDoc CScopeDoc BOOL CScopeDoc OnNewDocument TRACE En CScopeVlDoc OnNewDocument Xn if CDocument OnNewDocument return FALSE SDI documents will reuse this document m_nArrayPuntos 1024 Valor m ximo m_arrayMuestras SetSize m_nArrayPuntos Se utiliza una plantilla que tiene la propiedad de ser serializada para posteriormente guardarla o cargarla del disco m_nVinPuntos 0 m_pVin new double m_nArrayPuntos 12 Puntero para la vista En voltios m_pCanalDoc new SCanalDoc 4 Valores por omisi n de los canales m_pCanalDoc 0 nGanancia 0 m_pCanalDoc 0 nDivisor 0 m_pCanalDoc 0 bACDCneg FALSE m_pCanalDoc 0 bEnable FALSE m_pCanalDoc 1 nGanancia 0 m_pCanalDoc 1 nDivisor O m_pCanalDoc 1 bACDCneg FALSE m pCanalDoc 1 bEnable FALSE m_pCanalDoc 2 nGanancia 0 m_pCanalDoc 2 nDivisor O m pCanalDoc 2 bACDCneg FALSE m_pCanalDoc 2 bEnable FALSE m_pCanalDoc 3 nGanancia 0
70. CadenaTX 0 pcTX m strEditTX 16 pcTX m_strEditTX UpdateData FALSE m_pView gt PostMessage WM GOODBYE ACTUAR Actualizar di logo y variables mienbro para la vista IDENVIAR LINII DIVI AAA AAA AAA ILLA LA ADA SA AAA AAA AAA AAA VID AAA AAA AA AAA ATT CActuarDlg funciones de apoyo void CActuarDlg OnApply Crea la trama a enviar Si se presiona el bot n enviar se transmite lo visualizado en salida if m_pView NULL Caso no modal char pcTX 10 UpdateData TRUE ScopeCodificarTramaTX if m_bEnableOut Habilitada la ventana de salida if m_bSimula Caso simulacion _itoa m_pEstadoCH 0 pcTX 16 m_strEditTX pcTX m_strEditTX for ant i Le 1 UE sd _itoa m_pEstadoCH i pcTX 16 m_strEditTX pcTX m_strEditTX else Inhabilitada la ventana de salida if m_nCanal 0 _itoa m_pEstadoCH 0 pcTX 16 else if m_nCanal 1 _itoa m_pEstadoCH 1 pcTX 16 else if m_nCanal 2 _itoa m_pEstadoCH 2 pcTX 16 else _itoa m_pEstadoCH 3 pcTX 16 m_strEditTX pcTX m_strEditTX UpdateData FALSE Actualizar di logo void CActuarDlg ScopeCodificarTramaTX 1011 Recoge los datos del di logo y los codifica en un By BYTE cByteTX OxFF if m_nDCAC 0 DC 0 0 cByteTX cByteTX amp OxFE FE 1111 1110
71. CmdShow SW _SHOWMINNOACTIVE if bMaximized flags WPF RESTORETOMAXIMIZED else flags WPF _SETMINPOSITION else if bMaximized nCmdShow SW _SHOWMAXIMIZED flags WPF RESTORETOMAXIMIZED else nCmdShow SW NORMAL flags WPF _SETMINPOSITION wndpl length sizeof WINDOWPLACEMENT wndpl showCmd nCmdShow wndpl flags flags wndpl ptMinPosition CPoint 0 0 wndpl ptMaxPosition CPoint GetSystemMetrics SM_CXBORDER GetSystemMetrics SM _CYBORDER wndpl rcNormalPosition rect LoadBarState AfxGetApp gt m_pszProfileName dispone la posici n de la ventana y su estado minimizado maximizado BOOL bRet SetWindowPlacement wndpl CFrameWnd ActivateFrame nCmdShow 6 2 4 CLASE CMAINFRAME MainFrm h interface of the CMainFrame class ARANA if defined AFX MAINFRM H DA985EE2_C77B_11D3_BB39 ACF5B442421C_ INCLUDED define AFX MAINFRM H DA985EE2_C77B_11D3_BB39 ACF5B442421C_ INCLUDED if _MSC VER gt 1000 pragma once endif _MSC_VER gt 1000 include persist h class CMainFrame public CPersistentFrame protected create from serialization only CMainFrame DECLARE DYNCREATE CMainFrame Attributes public Operations public Overrides ClassWizard generated virtual function overrides AFX_VIRTUAL CMainFrame virtual BOOL PreCreateWindow CREATESTRUCT amp cs AFX_ VIRTUAL Implemen
72. Control DIR CONTROL DISABLE dcb fRtsControl RTS_CONTROL_DISABLE dcb fOutxDsrFlow FALSE dcb fOutxCtsFlow FALSE break case 1 DTR DSR gt Sortides RTS DISABLE No importa dcb fDsrSensitivity TRUE dcb fDtrControl DIR CONTROL HANDSHAKE dcb fRtsControl RTS_CONTROL_DISABLE dcb fOutxDsrFlow TRUE dcb fOutxCtsFlow FALSE break case 2 RTS CTS gt Sortides DTR DISABLE No importa DSR dcb fDsrSensitivity FALSE dcb fDtrControl DTR_CONTROL DISABLE dcb fRtsControl RTS_CONTROL_HANDSHAKE dcb fOutxDsrFlow FALSE dcb fOutxCtsFlow TRUE break case 3 Control de flux software Xon Xoff dcb fInx TRUE dcb fOutX TRUE dcb XonChar XON dcb XoffChar XOFF dcb XonLim 20 dcb XoffLim 20 dcb fDsrSensitivity FALSE dcb fDtrControl DTR_CONTROL_DISABLE dcb fRtsControl RTS CONTROL DISABLE dcb fOutxDsrFlow FALSE dcb fOutxCtsFlow FALSE break if SetCommState m_idDisCom amp dcb lt 0 return FALSE return TRUE LL ae se Se ee Be a a Seer ae aera eres seamen AS void CRS232 TancarPort Indicador per al thread y funcions externes PortObert FALSE Tancar handle CloseHandle m_idDisCom El thread es dona compte Esta funci n cierra un handle de objeto abierto DON Ra oo void CRS232 Thread_Att_RS232 define LON_BUF_RX232 TEMP 1024 OVERLAPPED overl HANDLE hEvent1 BOOL bitResult DWORD dwResult
73. ESTO viii ie 82 4 1 MEDICIONES isis TE 83 4 27 PRECIOS UNITARIOS ii toas 84 43 APLICACI N DE PRECIOS taa 85 PLIEGO DE CONDICIONES nan i alla oh 86 5 1 CONDICIONES GENERALES cuidan il titi 87 5 1 1 INTRODUCCION denied iia 87 5 1 2 REGLAMENTOS Y NORMAS iniisidh e 87 5 1 3 MATERIA ES a 87 5 1 4 EJECUCI N DEE PROYECTO acosta lila ici 87 5 1 5 INTERPRETACION Y DESARROLLO coooococcononnooncnnoncnononnonnnononnnonnon non nonnonnra ED DEDI ED nario 88 5 1 6 TRABAJOS COMPLEMENTARIOS coocoocccconoononnconcononnnonocnnonno nono ED ED ED cra non E ED ED ED ERE nrcn raros 88 5 1 7 MODIFICACIONES aida as 88 5 1 8 REALIZACI N DEFECTUOSA anciana cadillacs 88 5 1 9 MEDIOS AUXILIARES cocoa tidad 88 5 1 10 RECEPCI N DEL PROYECTO coi 89 SIRTIY RESPONSABIEIDADES cacane ones roads 89 IA o FANZARA II A AR A 89 5 2 CONDICIONES TECNICAS ae 90 5 2 1 CONDICIONES DE LAS PLACAS DE Col o cceccccccccessssseseeseesecseeeeseeeeenseeeesseesessecseesenaes 90 5 2 2 CONDICIONES DE LOS COMPONENTES ELECTR NICOS csscscssessessesesseeseeeeses 90 5 2 3 CONDICIONES DEL MONTAJE DE PLACAS 1 eecececceesseseeseeeeeeeeeeeeseeeessecaeeseesseaeenes 90 5 3 CONDICIONES FACULTATIVAS cccccccssesscssesssesscssescssesscssesseesecsessecssvsesnaeeeseascsesaeeneearenes 91 5 3 1 NORMAS A SEGUIR econ SES EEE AECE 91 5 3 2 PERSONA on sotos r a oo Ra cas 91 5 3 3 RECONOCIMIENTO Y ENSAYOS PREVIOS ccccsessssseseesecssesecseeeeceseeeesseeseeseeseeaeenes 91 5 3 4 ENSA Oi a
74. FE ff LT LLLO m_pCanalDoc nCanal nGanancia int byteAux byteEstado m_arrayMuestras nCanal Miro FAC if byteEstado amp 0x10 0001 0000 ff FRO 1 35 1 m_pCanalDoc nCanal nDivisor 1 Sin divisor else FAC 0 gt 0 012 m_pCanalDoc nCanal nDivisor 0 Con divisor byteEstado m_arrayMuestras nCanal Miro CANAL if byteEstado amp 0x20 0010 0000 m_pCanalDoc nCanal bEnable TRUE else m_pCanalDoc nCanal bEnable FALSE 6 2 7 CLASE CCONTROLDLG if defined AFX CONTROLDLG H DA985EFO_C77B_11D3_BB39 ACF5B442421C INCLUDED define AFX CONTROLDLG H BDA985EFO C77B 11D3 BB39 ACF5B442421C_ INCLUDED if MSC VER gt 1000 pragma once tendif MSC VER gt 1000 ControlDlg h header file IN LXLLV LA LP LELI LISTA TATA AAT ATTA ATTA ATTA ALAS LA TATA TAIT ATA TATA CControlDlg dialog define WM GOODBYE CONTROL WM USER 5 class CControlDlg public CDialog Construction public CControlDlg CWnd pParent NULL standard constructor CControlDlg CView pView BOOL Create private CView m_pView Para las barras de deslizamiento public int m_nTrackbarCanall int m_nTrackbarCanal2 int m_nTrackbarCanal3 int m_nTrackbarCanal4 int m_nTrackbarTimeDiv private static double s dValueCanal V div static double s dValueTimeDiv ms div Para la transmisi n public BYTE m_pTXCadena Puntero para transmi
75. H1 Baudios o bps 7 7 7 7 CC H 1200 bps EG H 2400 bps FE H 4800 bps FA H 9600 bps 7 FD H 19200 bps FE H 38400 bps FF H 115000 bps Baudios 2 SMOD 32 FrecuenciaOscilador 12 256 TH1 TH1 256 FrecuenciaOscilador xxx Baudios Xxx 384 si SMOD O Xxx 192 si SMOD 1 setb TR1 Disparo el Timer 1 comienza a transmitir INFINITO mov DPTR 8000H Direcci n inicial de la memoria externa EEE Guardar en memoria d Trama de ihn1c19 gt 25 2522 2255 mov A FBH movx DPTR A inc DPTR 78001 H mov A 04H movx DPTR A inc DPTR 78002 H inc DPTR 78003 H mov A 04H movx DPTR A inc DPTR 78004 H SARA Fin Guardar en memoria trama de inicio 2 Inhabilitar interrupci n serie y realizar copia de BMOD BEST y BCON La copia se realiza en la zona Scratch Pad Esta zona esta comprendida desde 30H hasta 7FH clr IE 4 Inhabilito la interrupci n serie mov 30H 20H BMOD mov 31H 21H BCON mov 32H 22H BCON2 mov 33H 23H BCON3 mov 34H 24H BCON4 mov 35H 25H BEST mov 36H 26H BEST2 mov 37H 27H BEST3 mov 38H 28H BEST4 setb IE 4 Habilito la interrupci n serie Fin Inhabilitar interrupci n serie y realizar copia de BMOD BEST y BCON PEA Guardar en memoria los BEST mov A 35H Cargo la copia BEST1 en A movx DPTR A Gu
76. HARDWARE Sa AA AA TA ERA ARA ACA DATA ATA A DA AA A Tais 38 2 1 1 CIRGUITERIA DICTA dt E el EEE 38 21 2 CIRCUITERIA ANAL GICA nto bles 39 2 1 2 1 Etapa de entrada y multiplexaciOn cceccecccesecsseenseeneeesceeeeeseceseeneecesecaecnseenseceeeaeeenes 39 2 1 2 2 Amplificador inversor de ganancia variable 00 eeeeeeeeesesceeeceseeeeesecseesecneeereaeeneeaeens 42 2 1 2 3 Amplificador inversor sumador banda pasante O paso bajO csceceeceseeeteeeeeeeeeteeenes 44 2 1 3 CIRCUITER A DE ALIMENTACI N 00 sealed kl 49 21 3 Estudio preliminar is funden ti dad tede O dutos a bua do A ed Uno 49 2 1 3 1 1 Rectificaci n y TltradO cocinada 49 2 1 3 1 2 Dise o de una fuente de tensi n usando un circuito integrado o ooonconinninnninmm 52 2 1 3 2 Implementaci n de la administraci n de ENergla oonconnnnninnonnnnnennnnnnnnnnanconcnononaroncnnonos 53 2 1 3 2 1 Fuente de tensi n de 5 voltios ooonoconncnncnnnnononononoonconnconoco nono noo nono nrnn non DE Ea E nono 53 2 1 3 2 2 Fuente de tensi n de 6 y 6 VOItIOS 0 ececceseesseesseesceeseeseeeeeescenseensecnaeenseeseeenes 55 22 SOFTWARE DE BAJO NIVEL oe cceceecceseseesesseseeecnseseeecneeseecneeseecnsescaeeaeeecneeaeeeeneeaceseneeaeenens 57 2 2 1 DIAGRAMAS DEF LUJO pen a T ARRA E E o RAA ANE 57 2 2 1 1 Preludio al muestreo y escritura ssessseeeesseseeseseessesstsresersessteressesresreseeseeseesessreressesees 57 2 2 1 2 Muestreo y escritura en memoria sese
77. Habitualmente es el bit de paridad Si REN por software permite recepci n Si REN 0 no la permite En Modo 2 y 3 Si SM2 1 entonces RI no se activar si el 9 bit de datos RB8 es igual a cero En Modo 1 si SM2 1 entonces RI no se activara si el bit de stop no se ha recibido En Modo 0 SM2 debe esta a cero i Desplaza 8 bits Reloj 12 oa o e o 2 1 o UARTde8bits Reloj 64 o reloj 32 Cuadro 1 3 registro SCON PCON POWER CONTROL REGISTER SMOD x xX X GFi_ GFi_ PD IDL Bit Modo Idle Si IDL 1 entonces habilita este modo de operaci n Bit Power Down Si PD 1 entonces activa el Modo Power Down Flag bit de prop sito general Bit 7 SMOD Bit duplicador de baudios Si SMOD 1 entonces duplica la frecuencia de reloj del Timer 1 cuando ste se utiliza como generador reloj da baudios en las comunicaciones en los Modos 1 2 y 3 Cuadro 1 4 registro PCON 1 4 2 BYTES DEFINIDOS PARA LA APLICACI N BMOD BYTE DE MODO Bit O BMOD 0 BMOD 1 BMOD 0 MODO DE MULTIPLEXACION Y CANL ES Bit 1 BMOD 1 Sin multiplexaci n Canal 1 j1 o Con multiplexacion Canales 1 y 2 jo Jo Conmultiplexaci n Canales 1 2 3 y 4 Bit2 BMOD 2 Si BMOD 2 0 sin control manual muestreo infinito Si BMOD 2 1 con control manual Bit 3 BMOD 3 Si BMOD 2 1 entonces Si BMOD 3 0 esperara activa Si BMOD 3 1 Inicia muestreo y transmisi n disparo BMOD 4 BMOD 5 Bit 6 BMOD
78. Imprimir Imprime un documento 1 6 Presentaci n preliminar muestra la vista de la presentaci n preliminar a la impresi n 1 7 Configurar impresora configura impresora 1 8 Archivos recientes presenta los nombres de los cuatro ltimos archivos guardados 1 9 Salir sale de la aplicaci n Scope 2 1 Controles presenta el di logo para el control del osciloscopio 2 2 Controles avanzados presenta el di logo para el control avanzado del osciloscopio tambi n posee dos cuadros de edici n que dan la posibilidad de monitorizar las comunicaciones 2 3 Abrir puerto Abre el puerto de comunicaciones o lo cierra 2 4 Configurar puerto presenta el di logo para la configuraci n las comunicaciones serie Ver 3 1 Barra de herramientas presenta o guarda la barra de herramientas 3 2 Barra de estado presenta o guarda la barra de estado Ayuda 4 1 Acerca de presenta el di logo informativo de la aplicaci n 1 5 2 VENTANAS HIJAS Estas ventanas son todas aquellas que dependen de la ventana de marco principal 1 5 2 1 Ventana de barra de herramientas Es una barra de herramientas reubicable que gracias a la caracter stica persistente del marco principal recuerda la posici n de sta cuando se sale de la aplicaci n Seguidamente se describen sus elementos 1 2 3 4 5 6 7 8 9 Nuevo crea un nuevo documento Abrir abre un documento Guardar guarda un documento Control abre el di logo d
79. MAP END_MESSAGE MAP static UINT indicators ID_SEPARATOR status line indicator ID_INDICATOR_CAPS ID_INDICATOR_NUM ID_INDICATOR_SCRL y AAA CMainFrame construction destruction CMainFrame CMainFrame CMainFrame CMainFrame int CMainFrame OnCreate LPCREATESTRUCT lpCreateStruct if CPersistentFrame OnCreate lpCreateStruct 1 return 1 if m_wndToolBar Create this m_wndToolBar LoadToolBar IDR_MAINFRAME TRACEO Failed to create toolbar n return 1 fail to create if m wndStatusBar Create this m_wndStatusBar SetIndicators indicators sizeof indicators sizeof UINT TRACEO Failed to create status bar n return 1 fail to create TODO Remove this if you don t want tool tips or a resizeable toolbar m_wndToolBar SetBarStyle m_wndToolBar GetBarStyle CBRS_TOOLTIPS CBRS _FLYBY CBRS_SIZE DYNAMIC TODO Delete these three lines if you don t want the toolbar to be dockable m_wndToolBar EnableDocking CBRS_ALIGN_ ANY EnableDocking CBRS_ALIGN ANY DockControlBar amp m_wndToolBar return 0 BOOL CMainFrame PreCreateWindow CREATESTRUCTS amp cs TODO Modify the Window class or styles here by modifying the CREATESTRUCT cs return CPersistentFrame PreCreateWindow cs AAA CMainFrame diagnostics ifdef _DEBUG void CMainFrame AssertValid const CPersistentFrame AssertValid
80. NFORMATION else Para evitar infinitos mensajes de error al escribir en el puerto wsprintf pcMensaje Inhabilitar antes el control interactivo MessageBox pcMensaje AfxGetAppName MB OK MB ICONINFORMATION else m_pRs232 gt ConfigurarPort m_comRs232 nPuerto m_comRs232 nBaudios m_comRs232 nBitsCar m_comRs232 nBitsParada m_comRs232 nParidad m_comRs232 nControlFlujo GetSafeHwnd Ventana a la que enviar los mensajes g_pOnRxChar Puntero a funci n de servicio BOOL bAbrir m_pRs232 gt ObrirPort if bAbrir FALSE wsprintf pcMensaje Error al abrir el puerto serie MessageBox pcMensaje AfxGetAppName MB OK MB ICONSTOP else 1 Puesto abierto Puesta en marcha del Thread g_pMiThread AfxBeginThread MiThread m_pRs232 THREAD PRIORITY TIME CRITICAL m_bOnComunicacionDlg TRUE wsprintf pcMensaje Puerto serie abierto satisfactoriamente MessageBox pcMensaje AfxGetAppName MB OK MB ICONINFORMATION void CScopeView OnScopeComunicacionConfigurar Configurar puerto if m_bOnComunicacionDlg CConfigComDlg dlg dlg m_nCom m_comRs232 nPuerto dlg m_nBaudios m_comRs232 nBaudios if dlg DoModal IDOK return m_comRs232 nPuerto dlg m_nCom m_comRs232 nBaudios dlg m_nBaudios else char Mensaje 100 wsprintf Mensaje Cerrar antes el puerto serie MessageBox Mensaje AfxGetAppName MB OK MB_ICONSTOP void
81. O m pActuarDlg gt m_nEnable FALSE m pActuarDlg gt m_ bSimula FALSE m_pActuarDlg gt m_bConTramas TRUE m pActuarDlg gt m_bEnableIn FALSE m pActuarDlg gt m_bEnableOut FALSE UpdateData FALSE if m_bOnControlDlg FALSE OnScopeControl Si el di logo de control esta cerrado lo abro m_pControlDlg gt OnApplyPublic BOOL CScopeView PreCreateWindow CREATESTRUCT amp cs TODO Modify the Window class or styles here by modifying the CREATESTRUCT cs return CView PreCreateWindow cs PL LALUN AA AULA VD A DL A LA LAN AMA AL AA AN LAAXAD A TTA ADA LA AA NDL A AL ALAS AA A LAMA CScopeView apoyo a la visualizaci n void CScopeView ScopeBackground CDC pDC CSize sizeBackground BYTE bRedB BYTE bGreenB BYTE bBlueB int nWidthP BYTE bRedP BYTE bGreenP BYTE bBlueP En unidades l gicas En Origen de las coordenadas 0 0 en la izquierda al medio Crea un rejilla de 10 x 10 cuadros CPen newPen PS_SOLID nWidthP RGB bRedP bGreenP bBlueP CPen pOldPen pDC gt SelectObject amp newPen CBrush newBrush RGB bRedB bGreenB bBlueB CBrush pOldBrush pDC gt SelectObject amp newBrush pDC gt Rectangle CRect 0 sizeBackground cy 2 sizeBackground cx sizeBackground cy 2 En unidades l gicas Lineas Horizontales centradas con origen y pDC gt MoveTo 0 4 sizeBackground cy
82. TTT ATA TTT AAT TAT TTT CScopeView printing void CScopeView OnPrepareDC CDC pDC CPrintInfo pInfo pDC gt SetMapMode MM_HIMETRIC Modo de 0 01mm void CScopeView OnPrint CDC pDC CPrintInfo pInfo Momentos previos a lo presentaci n preliminar UpdateData TRUE Se obtiene el estado del di logo de control m_aPrintCanal 0 nFactorY int m_pControlDlg gt m_nTrackbarCanall m_aPrintCanal 0 nFactorX int m_pControlDlg gt m_nTrackbarTimeDiv m_aPrintCanal 1 nFactorY int m_pControlDlg gt m_nTrackbarCanal2 m_aPrintCanal 1 nFactorX int m_pControlDlg gt m_nTrackbarTimeDiv m_aPrintCanal 2 nFactorY int m_pControlDlg gt m_nTrackbarCanal3 m_aPrintCanal 2 nFactorX int m_pControlDlg gt m_nTrackbarTimeDiv m_aPrintCanal 3 nFactorY int m_pControlDlg gt m_nTrackbarCanal4 m_aPrintCanal 3 nFactorX int m_pControlDlg gt m_nTrackbarTimeDiv pDC gt SetMapMode MM _HIMETRIC Modo de 0 01mm CRect rectPrintLogical pInfo gt m_rectDraw Obtiene el tama o de impresi n escogido por la impresora En unidades l gicas gt las escogidas po OnPrepareDC 0 0 alto ancho CRect rectPrintDevice rectPrintLogical int nSizeMinPrintDevice rectPrintDevice NormalizeRect pDC gt LPtoDP rectPrintDevice CSize sizePrintDevice rectPrintDevice Size Se obtiene el tamafio minimo if sizePrintDevice cx gt sizePrintDevice cy nSizeMinPrintDevice sizePri
83. UNIVERSIDAD ROVIRA I VIRGILI PROYECTO DE FINAL DE CARRERA Osciloscopio basado en Windows 95 utilizando el puerto serie Realizado por Raul Bartolom Castro Dirigido por Ernest Gil Dolcet 1999 Septiembre NDICE 1 MEMORIA DESCRIPTIVA aa a A 5 1 1 OBTEN OS is til titi ade to le T 6 1 DESCRIPCI N GENERAL e DD 7 pa HARDWARE c e nie ds 11 1 3 1 CIRCUITER A DIGITAL un na sd axe ile athe 12 1 3 1 1 Microcontrolador memoria l neas de control e interface Seri8 oooocnnonnnnccconnoonncconoss 12 1 3412 Convertidor ADE ies dla nto cdo est tas de odo e Mio la la let Ate coil CaaS 14 13 2 CIRCUITER A ANAL GICA ld liada te e 15 1 3 2 1 Etapas de entrada y multiplexaci n ooonconnnnnncnnnnnoonconnconncnnonnncon E ERE DE nono non Ea DE Ea De ED nro 15 1 3 2 2 Amplificador inversor de ganancia variable oooonnonccncnnncnnncnnonoocnonnnnononnncnnoconncnnnnnnnnnno 17 1 3 2 3 Amplificador inversor sumador banda pasante O paso DajO oooccncinccinnnnocnocnconncnnocnnoo 18 133 CIRCUITERIA DE ALIMENTACI N oscinina n e 19 1 3 3 1 Fuente de tensi n de 5 voltios oooonoonooninonionnonnconcconconncnnnono nono ERE E non ED REDE DD DD Ea n rra nnrnnncnnnos 19 1 3 3 2 Fuente de tensi n de 6 y 6 voltios ooooonicnnnnnincnoonnonnconnonnconnconnono nono ED ED cnn nonnr cnn rnnncnnnos 20 14 SOFTWARE DE BAJO NIVEL sprees pan dan assi a A A DU DD ono ren ERA IA PESETA DD 21 1 4 1 REGISTROS SER UTILIZADOS 32 cinb
84. alDoc Almacena los estados de los canales public void ScopeCrearVin Crea el vector para la vista void ScopeDecodificarTramaRX int nCanal protected create from serialization only CScopeDoc DECLARE DYNCREATE CScopeDoc Attributes public Operations public Overrides ClassWizard generated virtual function overrides AFX_VIRTUAL CScopeDoc public virtual BOOL OnNewDocument virtual void Serialize CArchives ar virtual BOOL OnOpenDocument LPCTSTR lpszPathName AFX_ VIRTUAL Implementation public virtual CScopeDoc ifdef DEBUG virtual void AssertValid const virtual void Dump CDumpContext amp dc const fendif protected Generated message map functions protected AFX_MSG CScopeDoc afx msg void OnUpdateFileSave CCmdUI pCmdUI REX_MSG DECLARE MESSAGE MAP y AAA AAA AAA AAA AAA DACAL TTT TAT AL ACA MANO APXA LAMA LAXA LA MALA LA AL A TAT TTI TTT AFX_INSERT_LOCATION Microsoft Developer Studio will insert additional declarations immediately before the previous line tendif defined AFX_SCOPEDOC_H DA985EE4 C77B 11D3 BB39 ACF5B442421C_ INCLUDED scopeDoc cpp implementation of the CScopeDoc class include stdafx h include scope h include scopeDoc h ifdef _DEBUG define new DEBUG_NEW undef THIS FILE static char THIS FILE _ FILE_ endif AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AA
85. ambi n que el Timer 1 es quien establece la frecuencia de comunicaci n mediante su desbordamiento Si se programa el Timer 1 en modo 8 bits con autorrecarga entonces la velocidad de comunicaci n en baudios o bits s viene dada por la siguiente expresi n 2 FrecuenciaOscilador Baudios 32 12 256 TH1 Donde SMOD 1 FrecuenciOscilado 12MHz Seguidamente se presenta un cuadro con las velocidades de comunicaci n m s comunes En este proyecto se ha establecido el Timer 1 de tal forma que genere 9600 baudios Cuadro 2 2 velocidades de comunicaci n 2 2 4 TRAMA DE COMUNICACI N La trama que construye el microcontrolador para ser enviada tiene el siguiente aspecto Trama de inicio Bytes de Estado Datos OxFB 0x04 OxFB 0x04 BEST1 BEST2 BEST3 BEST4 DO D1 Datos Trama final 0090 D1010 D1011 0x04 OxFB 0x04 OxFB Ilustraci n 2 28 trama de comunicaci n 2 3 SOFTWARE DE ALTO NIVEL El lenguaje de programaci n utilizado es el Microsoft Visual C 5 0 El programa realiza las siguientes funciones fundamentales Adquisici n de los datos procedentes del canal serie y presentarlos en la ventana vista Control de las funciones del perif rico Monitorizado de las comunicaciones Programaci n del interface serie Almacenaje de los datos recibidos en memoria no vol til Impresi n de la ventana de vista 2 3 1 DIAGRAMAS DE
86. ardo en memoria externa el BEl inc DPTR 8005 H mov A 36H Cargo la copia BEST2 en A movx DPTR A Guardo en memoria externa el BE2 inc DPTR 8006 H mov A 37H Cargo la copia BEST3 en A movx DPTR A Guardo en memoria externa el BE3 inc DPTR 8007 H mov A 38H Cargo la copia BEST4 en A movx DPTR A Guardo en memoria externa el BE4 a de Fin Guardar en memoria los BEST NOYA mov A 20H Cargo el BMOD jnb A 2 NOMANUAL jnb A 3 NOYA clr 20H 3 NOMANUAL rin Fin Tratamiento del control manual AR MUESTREAR Y GUARDAR EN MEMORIA 1012 MUESTRAS clr TO 7Selecciono el Canal 1 ely Tl mov A 30H Copia de BMOD jb A 0 SINMUXX jb A 1 MUX1Y2X sjmp MUX1234 SINMUXX ljmp SINMUX MUX1Y2X ljmp MUX1Y2 MUX1234 Palas stax ote lla Con multiplexaci n de canales 1 2 3 y 4 mov A 31H Cargo la copia de BCON1 mov DPTR 0000H Direcci n del BCON movx DPTR A Actto sobre la electr nica con BCON1 mov DPTR 8008H Direcci n inicial para los datos clr INT 2By 1CM Disparo el A D nop 7 1By 1CM nop 7 1By ICM nop 1By 1CM Para esperar los 2 5 us mov A P 2By 1CM Leo el valor de la conversi n setb INT1 2By 1CM En 500 ns el A D listo para otra conversi n nop 7 1By 1CM mov R7 02H 2By 1CM Retardo de 3 10 1 CM RETARDO4 nop 7 1By 1CM nop 7 1By 1CM nop 7 1By 1CM nop 7 1By 1CM nop 7 1By 1CM nop 7 1By LCM nop 7 1By 1CM
87. as obras ya iniciadas siempre que el plazo de suspensi n sea mayor de seis meses Incumplimiento de las condiciones del Contrato cuando implique mala fe Terminaci n del plazo de ejecuci n de la obra sin haberse llegado a completar sta Actuaci n de mala fe en la ejecuci n de los trabajos Destajar o subcontratar la totalidad o parte de los trabajos a terceros sin la autorizaci n del T cnico Director y la propiedad 5 4 7 LIQUIDACION EN CASO DE RESCISION DEL CONTRATO Siempre que se rescinda el contrato por causas anteriores o bien por acuerdo de ambas partes se abonar al Contratista las unidades del proyecto ejecutado y los materiales acopiados que re nan las condiciones y sean necesarios para el mismo Cuando se rescinda el contrato llevar impl cito la retenci n de la fianza para obtener los posibles gastos de conservaci n de el per odo de garant a y los derivados del mantenimiento hasta la fecha de nueva adjudicaci n 6 ANEXO 6 1 C DIGO DE BAJO NIVEL PRR RRKKKRRK KERR KKK KKK RK KKK KA KK RARE RARE RARA RARA RR RAR KAR KK KR K KKK KK KR KK KK KK KK KK EREA dec PENS SOFTWARE PARA EL CONTROL DEL OSCILOSCOPIO PARA WINDOWS 95 VUE kk kk xk PRR RRKKKRRK KERR KK RK KK RK KKK KK KKK KKK KK KKK KR RK KKK KK RK kkk RARA RARA KK KKK KKK KK KK KK KK KK ota Por Ra l Bartolom Castro Sar Versi n 2 1 ae Pa Fecha 28 de Enero del 2000 gt SS Archivo OSCIL1 ASM Ria Fie Descripci n ase pane Softwa
88. bernada por una computadora personal o PC sobre el sistema operativo Windows 95 mediante el puerto serie Debe presentar en pantalla e impresora las lecturas temporales adquiridas de la placa as como la posibilidad de guardar los datos en memoria no vol til Tambi n se debe implementar los controles funcionales t picos de un osciloscopio 1 2 DESCRIPCI N GENERAL Para la realizaci n del osciloscopio se utilizar un ordenador del tipo PC aprovechando la capacidad de ste para procesar datos y poder representarlos de forma gr fica Mediante una tarjeta se recoger n la informaci n se convertir n en digital y se transmitir al ordenador para que ste los procese con un programa desarrollado en Visual C sobre el sistema operativo Windows 95 El proyecto consta de tres partes bien diferenciadas 1 Perif rico constituido por una tarjeta de adquisici n de datos anal gicos de cuatro canales la cual est conectada al PC mediante el puerto serie El coraz n de esta tarjeta es un microcontrolador que se encarga de realizar el control de la electr nica y la transmisi n de la informaci n por el canal serie al PC 2 Software de bajo nivel ste es el cerebro del perif rico debe interpretar las rdenes recibidas mediante el canal serie para alterar la electr nica de control y transmitir la informaci n adquirida por los canales 3 Software de alto nivel constituye el interface de usuario Tambi n se encarga de proc
89. bytes acabats de rebre j HESS a SaaS Saas Sees esas Saas aaa esas Ses AAA AAA AAA include winbase h Constants A DEFINIR EN CADA APLICACIO define XON 0x11 define XOFF 0x13 define EOT 0x04 define ESC Oxlb define XON S Oxff define XOFF_S Oxfe define EOT_S Oxfd define ESC_S Oxfc define EVENT 0x04 define WM ERROR ACCES PORT WM USER 10 missatge AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAN class CRS232 public AS a dE Ae Aa CRS232 int LBufRX int LBufTX 17 Funecions de SUPODE naaa hace ahd ad ea he A bad aed fod A gp DA void Thread_Att_RS232 Thread de control RX del RS232 FUNCI NS HOEMALS 243 420g Besos Sie os Ais WIS Be GE Bie OM Bie Sas MASA eee eke es void ConfigurarPort int Port 0 Coml 1 Com2 int Baudis 0 1k2 4 19k2 5 38k4 6 115k int BitsCar 0 4bits 1 5b 2 6b 3 7b 4 8bits int BitsParada ff O 1b1 1 1 5bit8s 2 2b1t8 int Paritat O No 1 Par 2 Senar 3 Mar 4 Esp int ControlFlux O No 1 DTR 2 RTS 3 Xon HWND hFinestra finestra a enviar missatges void pRxApli int CRS232 adreca aten apli Tx BOOL ObrirPort void TancarPort BOOL TX BYTE pCad int bytes Transmitir una Cadena BOOL TXacabat Torna TRUE si ha acabat TX int RXnumBytes Torna Numero bytes rebuts int RXcopia BYTE pCad Copiar el buffer de recepcio Torna Numero bytes rebu
90. caso no modal no llamar a OnCancel de la clase de base m_pView gt PostMessage WM GOODBYE CONTROL IDCANCEL else CDialog OnCancel caso modal void CControlDlg OnOK if m_pView NULL Caso no modal no llamar a OnOK de la clase de base UpdateData TRUE m_pView gt PostMessage WM GOODBYE CONTROL IDOK else CDialog OnOK Caso modal void CControlDlg OnApply Envia un mensaje a la vista para que actualice los datos de las barras de deslizamiento if m_pView NULL Caso no modal UpdateData TRUE m_pView gt PostMessage WM GOODBYE CONTROL IDAPPLY void CControlDlg OnCanall Al pulsar boton de radio Canal 1 if m_nEstadoAnteriorCanales 1 Inhabilitar Canal 2 m pTXCadena 0 0x40 0100 0000 MiApply O else if m_nEstadoAnteriorCanales 3 Inhabilitar Canales 2 3 y 4 m_pTXCadena 0 0xC0 1100 0000 MiApply m_pTXCambio 0 TRUE m_nEstadoAnteriorCanales 0 void CControlDlg OnCanall 2 Al pulsar boton de radio Canal 1 y 2 if m_nEstadoAnteriorCanales 3 Inhabilitar Canales 2 3 y 4 m_pTXCadena 0 0xC0 1100 0000 MiApply m_nEstadoAnteriorCanales 1 m_pTXCambio 1 TRUE void CControlDlg OnCanall_2_3_ 4 Al pulsar boton de radio Canal 1 2 3 y 4 m_nEstadoAnteriorCanales 3 m_pTXCambio 3 TRUE void CControlDlg OnAcdcC m_pTXCambio
91. ci n se har de acuerdo con los valores establecidos en el presupuesto por el Contratista y que ha sido tomado como base del contrato 5 1 8 REALIZACI N DEFECTUOSA Cuando el contratista halle cualquier unidad de trabajo que no se ajuste a lo especificado en el proyecto o en este Pliego de Condiciones el T cnico Director podr aceptarlo o rechazarlo en el primer caso ste fijar el precio que crea justo con arreglo a las diferencias que hubiera estando obligado el Contratista a acatar dicha valoraci n en el otro caso se reconstruir a expensas del Contratista la parte mal ejecutada sin que ello sea motivo de reclamaci n econ mica o de ampliaci n del plazo de ejecuci n 5 1 9 MEDIOS AUXILIARES Ser n de cuenta del Contratista todos los medios y m quinas auxiliares que sean precisas para la ejecuci n del proyecto En el uso de los mismos estar obligado a hacer cumplir todos los Reglamentos de Seguridad en el trabajo vigentes y a utilizar los medios de protecci n a sus operarios 5 1 10 RECEPCI N DEL PROYECTO Recepci n provisional Una vez terminadas los trabajos tendr lugar la recepci n provisional y para ello se practicar en ellas un detenido reconocimiento por el T cnico Director y la Propiedad en presencia del Contratista levantando acta y empezando a correr desde ese d a el plazo de garant a si se hallan en estado de ser admitidos De no ser admitidos se har constar en el acta y se dar n instrucciones a
92. clr 20H 0 multiplexaci n de Canales 1 2 3 y 4 clr 204 1 Mediante TO y T1 di ida Fin HABILITADOS Canales 2 3 y 4 2 CANAL4 rlc A jc FAC4ES1 elr 2TH E 7 BCl FAC4 0 cle 220 7 BC2 FAC4 0 clr 23H 7 7 BC3 FAC4 0 elr 244 7 BC4 FAC4 0 sjmp FINRX FAC4ES1 setb 21H 7 BC1 FAC4 1 setb 22H 7 7 BC2 FAC4 1 setb 23H 7 7BC3 FAC4 1 setb 24H 7 7 BC4 FAC4 1 sjmp FINRX Fin CANAL 4 CH1 1 CH0 0 CHOESO rlc A Obtengo E jc ENABLE3 Pa wa ea ae eee wd DA Con frecuencia Variable non oat ae we we wR eA eB Rae AE CH1 1 CHO 0 E O sjmp FINRX e lE Ses a Sar ee er ee Fin Con frecuencia varlable ss cash sale Pease eee Pee ee a ENABLE3 il a we a lan cae calm a CANAL 3 A A p a A a p Pa p H p a pA mov 27H R4 j Actualizo el BE3 mov R5 A Guardo A mov A 23H Cargo 23H anl A 29H Actualizo la parte baja de BC3 orl A 2AH Mediante las mascaras de 1s y Os mov 23H A Cambio 23H mov A R5 rlc A jc FAC3ES1 clr 21H 6 BC1 FAC3 0 clr 22046 BC2 FAC3 0 clr 23H 6 7 BC3 FAC3 0 clr 24H 6 7 BC4 FAC3 0 sjmp FINRX FAC3ES1 setb 21H 6 BC1 FAC3 1 setb 22H 6 7 BC2 FAC3 1 setb 23H 6 7BC3 FAC3 1 setb 24H 6 7 BC4 FAC3 1 sjmp FINRX ASS esses CH1 0 CHO 1 CHOES1 Soe ee ep ey ee ee eee CANAL 2 E 3 2 oR SHS Ses SS Rea eS mov 26H R4 7 Actualizo el BE2
93. control manual 3 2 Bot n Disparo provoca que se reciba un bloque de datos provenientes del osciloscopio 4 Cuadros de grupo Canal 1 Canal 2 Canal 3 y Canal 4 4 1 DC establece su correspondiente canal en modo DC 4 2 AC establece su correspondiente canal en modo AC 5 Cuadro de grupo V div establece los voltios divisi n 5 1 Barra de deslizamiento Canal 1 establece los V div del Canal 1 5 2 Barra de deslizamiento Canal 2 establece los V div del Canal 2 5 3 Barra de deslizamiento Canal 3 establece los V div del Canal 3 5 4 Barra de deslizamiento Canal 4 establece los V div del Canal 4 6 Barra de deslizamiento ms div establece los ms division Este di logo se abre por omisi n al ejecutar la aplicaci n Aunque se cierre no se pierden los datos asociados a ste 1 5 2 4 Ventana de di logo de control avanzado Este di logo proporciona un austero control del osciloscopio y la posibilidad de monitorizar las comunicaciones mediante dos cuadros de edici n 1 2 3 4 5 6 7 8 9 Bot n Aceptar cierra el di logo y actualiza su datos miembros hacia la vista Bot n Cancelar cierra el di logo Bot n Aplicar presenta en el cuadro de edici n By Out la codificaci n de los botones de radio y el cuadro de verificaci n Enable Bot n Enviar env a la codificaci n creada por el bot n Aplicar Cuadro de verificaci n Simular habilita la simulaci n del osciloscopio enviando po
94. ctuar afx msg void OnUpdateScopeActuar CCmdUI pCmdUI afx msg void OnScopeControl afx msg void OnUpdateScopeControl CCmdUI pCmdUI afx msg void OnScopeComunicacionConfigurar afx msg void OnScopeComunicacion afx msg void OnUpdateScopeComunicacion CCmduI pCmdUI REX_MSG DECLARE MESSAGE MAP afx_msg LRESULT OnScopeControlGoodbye WPARAM wParam LPARAM lParam afx_msg LRESULT OnScopeActuarGoodbye WPARAM wParam LPARAM lParam afx_msg LRESULT OnScopeErrorAccesPort WPARAM wParam LPARAM lParam afx_msg LRESULT OnScopeDataRX WPARAM wParam LPARAM lParam y ifndef DEBUG debug version in scopeView cpp inline CScopeDoc CScopeView GetDocument return CScopeDoc m pDocument tendif LA LALN AAA LAAL LAAN AAA CAAA E EEE ERRE LALA EAS AAA EEDA AFX_INSERT_LOCATION Microsoft Developer Studio will insert additional declarations immediately before the previous line endif defined AFX SCOPEVIEW H DA985EE6 C77B_ 11D3 BB39 ACF5B442421C_ INCLUDED scopeView cpp implementation of the CScopeView class include stdafx h include scope h include scopeDoc h include scopeView h include ControlDlg h include ActuarDlg h include Rs232v3 h include ConfigComDlg h ifdef _DEBUG define new DEBUG_NEW undef THIS FILE static char THIS FILE _ FILE endif AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA
95. cx 10 sizeBackground cy 2 pDC gt MoveTo 5 sizeBackground cx 10 sizeBackground cy 2 pDC gt LineTo 5 sizeBackground cx 10 sizeBackground cy 2 pDC gt MoveTo 6 sizeBackground cx 10 sizeBackground cy 2 pDC gt LineTo 6 sizeBackground cx 10 sizeBackground cy 2 pDC gt MoveTo 7 sizeBackground cx 10 sizeBackground cy 2 pDC gt LineTo 7 sizeBackground cx 10 sizeBackground cy 2 pDC gt MoveTo 8 sizeBackground cx 10 sizeBackground cy 2 pDC gt LineTo 8 sizeBackground cx 10 sizeBackground cy 2 pDC gt MoveTo 9 sizeBackground cx 10 sizeBackground cy 2 pDC gt LineTo 9 sizeBackground cx 10 sizeBackground cy 2 pDC gt SelectObject pOldPen pDC gt SelectObject pOldBrush void CScopeView ScopeDrawChanel CDC pDC CScopeDoc pDoc SCanal pCanal int nMux CSize sizeRango double dTMuestreo Dibuja un canal En pantalla o en presentaci n preliminar seg n quien la llame CPen newPen PS_ SOLID pCanal gt nWidthc RGB pCanal gt bRedC pCanal gt bGreenC pCanal gt bBlueC CPen pOldPen pDC gt SelectObject amp newPen Ine in Jy Xy Y Max nYmax sizeRango cy 2 Primer punto pDC gt MoveTo CPoint pCanal gt nCanal dTMuestreo sizeRango cx 0 1 s dValueTimeDiv pCanal gt nFactorXx pDoc gt m_pVin pCanal gt nCanal sizeRango cy 0 1 s dValueCanal pCanal gt nFactorY for i
96. dadura de las placas debe ser realizada por ola con esta o de buena calidad y una vez finalizado el proceso las placas deben ser perfectamente limpias con alg n producto espec fico basado en fl or de los muchos que hay disponibles en el mercado De cada partida de placas producidas al menos lo de ellas deber n ser verificadas en horno a 40 grados cent grados y en funcionamiento de tal forma que se les proporcione el equivalente a 6 meses de funcionamiento ininterrumpido durante las pruebas sea superior al 20 la partida entera deber ser retirada y sustituida por una nueva 5 3 CONDICIONES FACULTATIVAS 5 3 1 NORMAS A SEGUIR El dise o de la instalaci n el ctrica estar de acuerdo con las exigencias o recomendaciones expuestas en la ltima edici n de los siguientes c digos Reglamento Electrot cnico de Baja Tensi n e Instrucciones complementarias Normativa UNE Normativa DIN Plan nacional y ordenanza general de Seguridad e Higiene en el trabajo Normas de la Compa a Suministradora Publicaciones del Comit Electrot cnico Internacional CEI Lo indicado en este pliego de condiciones con preferencia a todos los c digos y normas 5 3 2 PERSONAL El Contratista tendr al frente de la obra un encargado con autoridad sobre los dem s operarios y conocimientos acreditados y suficientes para la ejecuci n del proyecto El encargado recibir cumplir y transmitir las instrucciones y rdenes del
97. del circuito integrado U19 lach MC74HC573 9K10 23 2 1 2 3 Amplificador inversor sumador banda pasante o paso bajo A continuaci n se presenta la estructura b sica de un sumador inversor Ilustraci n 2 5 estructura amplificador sumador inversor Para realizar el an lisis de esta c lula se utilizar el m todo de superposici n y el concepto de cortocircuito virtual f Z SV 0 gt 7 V de 3 i Z Si V 0 gt V V Z Entonces Z Z V v S Ecuaci n 2 1 Z Z En la siguiente figura se presenta la estructura de un sumador inversor con filtro de banda pasante Ilustraci n 2 6 estructura amplificador inversor sumador banda pasante Identificando con la Ilustraci n 2 5 se obtienen R Ci R sy SO C s 1 R 1 R C s C s 1 R Ds 1 R Ry Ga s C s Cass Sustituyendo en la ecuaci n 2 1 a e qa cee y ay Pas R 1 R C s C538 R 1 R 1 RACE V V 1 R 1 R Cis R 1 R Ces 1 R CSS Entonces se puede identificar dos funciones de transferencia la primera H s YolS _ R 1 V S Ry 1 R Cs Ganancia Paso bajo Donde 1 xa Vr c R H j o Le y la segunda ms E _ E i V S R 14 R C 814 R Cy s Ganancia Paso bajo Paso alto En el caso de polos muy separados R C 210 R C las frecuencias de corte y la ganancia en la banda central vienen determinadas aproximadamente por 2 RC l va VR C a R H j o
98. e de tensi n de 6 y 6 voltios La tensi n en el secundario del transformador es V 12 Vootajo e 20V V2 Dostrafo gt Prato L sonata V oc trafo de 20 2W y trafo 2 n zre 20 909 102 V orafo 220 Entonces L isibe P Lanao 9 09 10 A Las resistencias en serie con los diodos Ry Ry Ee 4500 gt valor comercial R 4700 45 2 2 SOFTWARE DE BAJO NIVEL 2 2 1 DIAGRAMAS DE FLUJO En los siguientes apartados se presentan los diagramas de flujo del c digo en ensamblador En la memoria descriptiva se expone de forma narrada la explicaci n de stos 2 2 1 1 Preludio al muestreo y escritura Inicio preludio Cargar modo de uso Modo manual Guardar en memoria la trama de inicio Guardar en memoria el estado de los canales Existe disparo Fin preludio Ilustraci n 2 15 preludio al muestreo y escritura a memoria 2 2 1 2 Muestreo y escritura en memoria Inicio muestreo Sin multiplexaci n S lo Canal 1 Multiplexaci n de los Multiplexaci n de los Canales 1 2 3 y 4 Canales 1 y 2 Guardar en memoria externa el final de trama Ilustraci n 2 16 esquema de multiplexaci n Inicio Canal 1 Cargar BCON con BCON1 Disparo del A D Leer conversi n Reset del A D Disparo del A D Guardar en memoria externa la conversi n Leer conversi n Reset del A D Ilustraci n 2 17 sin multiplexaci n s lo Canal 1 Inicio Canales 1
99. e los canales public void ScopeCrearVin Crea el vector para la vista void ScopeDecodificarTramaRX int nCanal protected create from serialization only CScopeDoc DECLARE_DYNCREATE CScopeDoc Attributes public Operations public Overrides ClassWizard generated virtual function overrides AFX_VIRTUAL CScopeDoc public virtual BOOL OnNewDocument virtual void Serialize CArchives ar virtual BOOL OnOpenDocument LPCTSTR lpszPathName AFX_ VIRTUAL Implementation public virtual CScopeDoc ifdef DEBUG virtual void AssertValid const virtual void Dump CDumpContextg dc const endif protected Generated message map functions protected AFX_MSG CScopeDoc afx msg void OnUpdateFileSave CCmdUI pCmdUI REX_MSG DECLARE MESSAGE MAP VILANA A LAICA NI AITANA DAA NINA TAI TAA LA DA DA SALAS AMA PALAS AMA LA PA LAMA LATA LAMA LA 1 4 AFX_INSERT_LOCATION Microsoft Developer Studio will insert additional declarations immediately before the previous line tendif defined AFX_SCOPEDOC_H DA985EE4 C77B_11D3 BB39 ACF5B442421C_ INCLUDED scopeDoc cpp implementation of the CScopeDoc class include stdafx h include scope h include scopeDoc h ifdef _DEBUG define new DEBUG_NEW undef THIS FILE static char THIS FILE _ FILE_ endif AAA AAA AAA AAA AAA AAA AAA AAA AA AAA TTT TTT TTA TTT TAT TATA ATT TATA TT TTT
100. eDrawChanel pDC pDoc m_aPrintCanal 0 4 sizeRangoHimetricPrint 4 0 044 En ms ScopeDrawChanel pDC pDoc m_aPrintCanal 1 4 sizeRangoHimetricPrint 4 0 044 En ms ScopeDrawChanel pDC pDoc m_aPrintCanal 2 4 sizeRangoHimetricPrint 4 0 044 En ms ScopeDrawChanel pDC pDoc m_aPrintCanal 3 4 sizeRangoHimetricPrint 4 0 044 En ms BOOL CScopeView OnPreparePrinting CPrintInfo pInfo pInfo gt SetMaxPage 1 Solo se imprime una p gina return DoPreparePrinting pInfo void CScopeView OnBeginPrinting CDC pDC CPrintInfo pInfo void CScopeView OnEndPrinting CDC pDC CPrintInfo pInfo AREA LATAS LA LL LA LALAL ADI A TET TTT TTA TTT TTT CALA LL AAA AAA AAA AAA AAA CScopeView diagnostics ifdef DEBUG void CScopeView AssertValid const CView AssertValid void CScopeView Dump CDumpContext dc const CView Dump dc CScopeDoc CScopeView GetDocument non debug version is inline ASSERT m_pDocument gt IsKindOf RUNTIME CLASS CScopeDoc return CScopeDoc m pDocument endif DEBUG PIA IADIPIP II IA IIII III II II III II TATTLE TATA TATA TATA TTT ATTA TT TTT CScopeView message handlers AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA Di logo de control void CScopeView OnScopeControl Crea el di logo si todavia no est creado
101. een cada una un divisor de tensi n gobernados por rel s Las se ales de entrada pueden ser multiplexadas posteriormente se aplica una ganancia variable mediante un amplificador inversor para finalmente ser filtradas con un amplificador inversor sumador banda pasante o paso bajo Circuiteria de alimentaci n suministra la energ a necesaria para la electr nica Existen dos bloques uno dedicado a los elementos anal gicos y otro a los digitales de este modo se evita interferencias entre s 1 3 1 CIRCUITER A DIGITAL 1 3 1 1 Microcontrolador memoria l neas de control e interface serie Seguidamente se presenta el esquema de este apartado V 30pl0wv C02 IV To an 2 J 1 1003109 ial ae me LORA E vos vec V opiy Col 31 v a 101 te PULSADOR 1 83555855 GYLeY8REYg 10 1 o sun Y SIR LAW 1002 10W 031 ASAR ZEEseGRereees Ilustraci n 1 5 Microcontrolador memoria l neas de control e interface serie El microcontrolador 87C51 es el encargado de gestionar toda la tarjeta de adquisici n de datos y de establecer las comunicaciones con el PC mediante el canal serie Posee una EPROM interna para poder grabar en ella el codigo de programa que ejecutara Trabaja a 12 MHz otorgados por un cristal de cuarzo de esta frecuencia Tiene implementado un circuito de reset tipico para establecer el microcontrolador en un estado conocido en caso de perdida de estabilidad
102. el control del osciloscopio Control avanzado abre el di logo del control avanzado Abrir puerto abre o cierra el puerto de comunicaciones Configurar puerto abre el di logo de configuraci n del puerto Imprimir imprime el documento activo Acerca de presenta la informaci n de la aplicaci n 1 5 2 2 Ventana de vista En esta venta se presenta al usuario de forma gr fica la informaci n procedente del perif rico Sufre los cambios provocados por las ventanas de di logo de Control y Control avanzado Posee la rejilla de 10 x 10 cuadros t picos de un osciloscopio Mantiene una relaci n de visualizaci n 1 1 para que no se distorsione la imagen a pesar de poder modificar el tama o de la misma 1 5 2 3 Ventana de di logo de control Este di logo proporciona un interface agradable y sencillo para el control del osciloscopio Seguidamente se describen sus funciones 1 Cuadro de verificaci n Control interactivo si est habilitado otorga al di logo la capacidad de controlar simult neamente la vista y el perif rico en caso contrario s lo controla la vista 2 Cuadro de grupo Canales ste s lo es til si est habilitado el control interactivo 3 1 Bot n de radio Canal 1 habilita el canal 1 3 3 Bot n de radio Canales 1 y 2 habilita los canales 1 y 2 3 4 Bot n de radio Canales 1 2 3 y 4 habilita los canales 1 2 3 y 4 3 Cuadro de grupo Control manual 3 1 Cuadro de verificaci n Habilitado habilita el
103. emos de la alimentaci n Las ganancias t picas de un osciloscopio son los m ltiplos y subm ltiplos de 1 2 y 5 El rango m ximo de salida del amplificador inversor debe ser de 2 5 2 5 V debido a que el conversor anal gico digital hace un muestreo dentro de un rango de 5V La tensi n m xima que se desea procesar en la entrada del amplificador inversor es de 5V Entonces la ganancia m nima ser y 2 G _ omax _ 2 5 _ 0 5 V 5 imin Si R 10KQ y utilizando las ganancias t picas de un osciloscopio se obtiene GANAN VALOR IDEAL VALOR VALOR COMPENSA VALOR Cuadro 2 1 resistencias del amplificador inversor de ganancia variable En el dise o se asocia a cada resistencia fija un potenci metro multivuelta en serie para calibrar individualmente cada ganancia esto es necesario debido a las tolerancias inherentes de las resistencias fijas Cabr a la posibilidad de poner simplemente pontenci metros pero de esta forma se perder a sensibilidad en el calibrado de las ganancias Obs rvese la inserci n de la resistencia R sta tiene la funci n de compensar la ca da de tensi n interna del amplificador operacional producida por la corriente de offset Se ha optado por usar el equivalente en paralelo de R con R entonces R5R _ 10 100 Ris R 10 100 Finalmente cabe exponer que la selecci n de la ganancia deseada se realiza mediante los puertos GAN1 GAN2 y GAN3 del multiplexor los cuales provienen
104. entation protected Generated message map functions AFX_MSG CConfigComDlg virtual void OnOK virtual void OnCancel AFX_MSG DECLARE MESSAGE MAP y AFX_INSERT_LOCATION Microsoft Developer Studio will insert additional declarations immediately before the previous line endif defined AFX_CONFIGCOMDLG H 4AFC49A5 CCOF_11D3 BB39 96F49A117913 INCLUDED ConfigComDlg cpp implementation file include stdafx h include scope h include ConfigComDlg h ifdef DEBUG define new DEBUG NEW undef THIS FILE static char THIS FILE _ FILE_ endif AAA AAA AAA AAA AA AAA AAA AAA AAA AAA AAA AAA TAA ATT ATTA TATA TATA AAT ATTA AAT CConfigComDlg dialog CConfigComDlg CConfigComDlg CWnd pParent NULL CDialog CConfigComDlg IDD pParent AFX_DATA_INIT CConfigComDlg m_nBaudios 1 m_nCom 1 AFX_DATA_INIT void CConfigComDlg DoDataExchange CDataExchange pDX CDialog DoDataExchange pDX AFX_DATA_ MAP CConfigComDlg DDX_ Radio pDX IDC_BAUDIOS m_nBaudios DDX_Radio pDX IDC COM m_nCom AFX DATA MAP BEGIN MESSAGE MAP CConfigComDlg CDialog AFX_MSG_ MAP CConfigComDlg AFX_MSG MAP END_MESSAGE MAP AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA TATA TATA TATA AT AAT CConfigComDlg message handlers void CConfigComDlg OnOK CDialog OnOK void CConfigComDlg OnCancel CDialog O
105. ente con el car cter que acaba de ser recibido incluso si el car cter no ha sido recibido DWORD WriteTotalTimeoutMultiplier Idem pero en operaci n de escritura DWORD WriteTotalTimeoutConstant COMMTIMEOUTS LPCOMMTIMEOUTS AY HANDLE hEventEscritura Los HANDLER se utilizan en las aplicaciones de Windows para veferirse a un recurso que ha sido cargado en memoria OVERLAPPED overEscritura OVERLAPPED es una estructura de Win32 que contiene informaci n usada en entradas salidas asincr nas typedef struct OVERLAPPED o DWORD Internal Reservado para el sistema operativo DWORD InternalHigh Reservado para el sistema operativo DWORD Offset Especifica una posici n de fichero en la que empieza la transferencia DWORD OffsetHigh Especifica la palabra alta del byte que empieza la transferencia HANDLE hEvent Identifica un evento estableciendo a estado se alizando cuando la transferencia ha sido completada OVERLAPPED BOOL EspiaHabilitat ARA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA TAT AAA TATA TAT AAA TAT Implementacio Clase RS232 ZITLILTTLTTLTITLT TTT ATTA TITTIES T CRS232 CRS232 int LBufRX int LBufTX TRACE En CRS232 CRS232 int LBufRX int LBufTX n Punter a aquest objecte pAquestObjecte this Port tancat PortObert FALSE EspiaHabilitat FALSE buffers construir i dimensionar LongBufRX LBufRX LongBufTX LBufTX
106. ertas NOR MC74HC02A Regulador de tensi n L7806CV 10 25 Condensador MKT de 330 nF 26 10 36 Terminal encapsulado PCB de 10 vias 4 2 PRECIOS UNITARIOS EN PTS 2 Memoria UM6264AB E 2O 21 Condensador MKT de 100 nF 10 4 3 APLICACI N DE PRECIOS DESCRIPCI N 2 Memoria UM6264AB 4 Driver MAX232 5 Lach MC74HC473AN 1 1 4 eal Conversor A D ADC0820CCN 4 E 6 Puertas NOR MC74HC02A 1 oO 8 Amplificador operacional LM324N 9 Regulador de tension UA7805C 10 Regulador de tension L7806CV Regulador de tensi n L7906CV Puente de diodos B40 1500 1000 Rel RS274 059 4 4 Driver ULN2003A Diodo D1N4001 Diodo D1N4004 81 2 176 17 Diodo zener 1N751 1 14 14 21 Condensador MKT de 100nF 18 10 180 22 Condensador MKT de10pF_ 4 10 4 k TA 15 183 Elo 215 54 108 is A Condensador electrol tico de 47 uF ASE O O al AA SO A l 4800 O Eh 2 2 2 2 2 2 2 Nn TOTAL 18092 ha Condensador electrol tico de 1 uF 0 4800 Uy UI NO CO 3 A 5 6 7 0 1 32 33 34 35 36 ha N 5 PLIEGO DE CONDICIONES 5 1 CONDICIONES GENERALES 5 1 1 INTRODUCCI N El presente proyecto desarrolla un osciloscopio para Windows 95 utilizando el puerto serie Dada la condici n de Final de carrera del proyecto las consideraciones de tipo contractual poseen un car cter de suposici n
107. esar la informaci n procedente del canal serie para presentarla como el usuario desea as como transmitir al perif rico el estado que ste debe adaptar VARIABLES VA Ilustraci n 1 1 diagrama general El perif rico incluye diferentes bloques que le permiten realizar las funciones de un osciloscopio controlado mediante un PC e Cuatro etapas de entrada con la posibilidad de atenuaci n interna e Miultiplexacion de canales e Amplificaci n de ganancia variable Filtrado banda pasante o filtro paso bajo Sumador Convertidor de anal gico a digital Microcontrolador Memoria suplementaria Interface serie Etapa de Filtro banda entrada pasante E AS Etapade entrada E Etapa de entrada Etapa de entrada Filtro paso bajo e E MAX232 Memoria Ilustraci n 1 2 diagrama de bloques El software de bajo nivel que est formado por c digo en ensablador interpretable por el microcontrolador 8x51 constituido por los siguientes conceptos e Inicializaci n del microcontrolador y electr nica externa e Muestreo de las se ales anal gicas a medir y guardar la informaci n en memoria e Transmisi n de las muestras adquiridas que est n almacenadas en memoria e Gesti n de las ordenes recibidas por el PC Interrupci n serie Interrupci n Decodificar recepci n Establecer modo Inicializaci n uso Modo Guardar en memoria la trama Guardar en manual
108. estos CI es seleccionar el transformador los diodos y el filtro Las hojas de especificaciones para este CI indican que debe existir una tierra com n entre la entrada y la salida y que la tensi n m nima en la entrada del CI debe estar al menos 2 4 V por encima de la salida regulada Para asegurar esta ltima condici n es necesario filtrar la salida del rectificador En la ilustraci n 2 12 C realiza este filtrado cuando se combina con la resistencia de entrada del CI Ilustraci n 2 12 fuente de tensi n con un circuito integrado La resistencia de entrada equivalente m s peque a del CI est dada por Voo Imin T Entonces Omax SV imax Vo AV 2 7 f A Omax donde V es tensi n m s grande que se aplica al CI AV es la ca da de tensi n del smax C Ecuacion 2 5 condensador es decir la tensi n de pico mas peque a aplicada al CI menos la tension de salida del CI m s 4 V y f es el n mero de pulsos por segundo El condensador de salida C se a ade para cortar las variaciones de alta o frecuencia provenientes de la circuiteria de carga C es necesario si el condensador de filtrado C se encuentra lejos de ste primero Los reguladores de la serie L79XX son id ntico a los de la serie L78XX con la excepci n de que los primeros proporcionan tensiones reguladas negativas en vez de positivas 2 1 3 2 Implementaci n de la administraci n de energ a La gesti n de la energ a consta de d
109. etb 20H 2 Manual rlc A jc FUEGO C17 20H 73 No existe disparo 13mp FINRX FUEGO setb 20H 3 Disparo ON 13mp FINRX a e ct PAR MEJO NATAL A A A ENABLE1 CANAL 1 mov 25H R4 7 Actualizo el BE1 mov R5 A Guardo A mov A 21H Cargo 21H anl A 29H Actualizo la parte alta de BCl orl A 2AH Mediante las mascaras de 1s y Os mov 21H A Cambio 21H mov A R5 rlc A Obtengo FACI jc FACIES1 clr 21H 4 BC1 FACI 0 clr 228 4 BC2 FACI 0 clr 23H 4 7 BC3 FACI O clr 24H 4 7 BC4 FACI O 13mp FINRX FACIES1 setb 21H 4 BC1 FACI 1 setb 22H 4 7 BC2 FACI 1 setb 23H 4 BC3 FACI l setb 24H 4 7 BC4 FACI 1 13mp FINRX Pare anar tananeananarases Fin CANAL 1 AA CHL SL Ao CH1ES1 rlc A Obtengo CHO jnc CHOESO CH1 1 CHO 1 CANAL 4 mov 28H R4 i Actualizo el BE4 mov R5 A Guardo A mov A 24H Cargo 24H anl A 29H Actualizo la parte baja de BC4 orl A 2AH Mediante las mascaras de 1s y Os mov 24H A Cambio 24H mov A R5 rlc A Obtengo E jc ENABLE4 canas enanas oat 7 DESHABILITADOS Canales 2 3 y 4 setb 20H 0 Sin multiplexaci n clr 20H 1 Solo canal 1 REPARAR Fin DESHABILITADOS Canales 2 3 y 4 a sa EER HABILITADOS Canales 2 3 y 4
110. final memoria la trama de inicio Operaci n S Toma de decisi n Leer un dato de Existe memoria y disparo enviarlo Guardar en memoria el estado de los canales Realizar una muestras y guardarla en memoria Otra A muestra Ilustraci n 1 3 diagrama de flujo El software de alto nivel se ha creado mediante el lenguaje Microsoft Visual C versi n 5 0 se encarga de realizar las siguientes funciones e Presentaci n por pantalla e impresora de las variables a medir e Implementaci n de los controles t picos de un osciloscopio e Almacenamiento de la informaci n recibida en memoria no vol til CWinApp OnRxChar CRS232 CControlDlg Canal serie CActuarDlg CConfigComDlg Monitor CPersistentFrame CFrameWnd CDocument Serialize CArchive Objeto CFile Funcion EA CO Control avanzado Memoria no volatil Ilustraci n 1 4 relaci n entre objetos 1 3 HARDWARE El hardware est constituido por tres bloques Circuiter a digital sta gira entorno al microcontrolador 87C51 Gestiona una memoria externa tiene mapeado en memoria un lach de 8 bits que controla la electr nica anal gica un conversor A D est acoplado en el puerto cuatro y un driver 232 en los pines de comunicaci n Circuiter a anal gica se dedica a procesar la se al es anal gica s de entrada hasta llegar al conversor A D Est formada por cuatro etapas de entrada las cuales pos
111. final void ScopeDetectarTrama STrama pTrama BYTE byteValor int m_nIndiceRxX ndice de los datos recibidos si est habilitada la detecci n de trama inicial y final Para visualizaci n del osciloscopio private typedef struct Almacena el modo de representaci n int nCanal de uno de los canales int nFactorX int nFactorY int nWidthc BYTE bRedC BYTE bGreenC BYTE bBlueC SCanal SCanal m_aPaintCanal 4 Modo representaci n canales monitor SCanal m_aPrintCanal 4 Modo representaci n canales impresora static double s dValueCanal V div static double s dValueTimeDiv ms div CRect m_rectClientHimetric Coordenadas ventana cliente en modo Himetric static CSize s sizeRangoHimetricPaint Tamafio logico de ventana cliente en modo Himetric 0 01 mm Dibuja un canal void ScopeDrawChanel CDC pDC Puntero a contexto de dispositivo CScopeDoc pDoc Puntero a documento SCanal pCanal Puntero a modo representaci n canal int nMux Modo de multiplexaci n CSize sizeRango Rango de visualizaci n double dTMuestreo Periodo de muestreo en ms Dibuja el fondo void ScopeBackground CDC pDC Puntero a contexto de dispositivo CSize sizeBackground Tamafio del fondo BYTE bRedB Colores del marco BYTE bGreenB BYTE bBlueB BYTE bGreenP BYTE bBlueP Para los di lodos no modales private BOOL m_bOnControlDlg CControlDlg m_pControlDlg
112. gran el proyecto los cuales de ser aceptados tendr n valor contractual y se aplicar n a las posibles variaciones que puedan haber Estos precios unitarios se entiende que comprenden la ejecuci n total de la unidad del proyecto incluyendo todos los trabajos a n los complementarios y los materiales as como la parte proporcional de imposici n fiscal las cargas laborales y otros gastos repercutibles En caso de tener que realizarse unidades de trabajo no prevista en el proyecto se fijar su precio entre el T cnico Director y el Contratista antes de iniciar la obra y se presentar a la propiedad para su aceptaci n o no 5 4 2 ABONO DEL PROYECTO En el contrato se deber dejar detalladamente la forma y plazas que se abonar n las partes del proyecto Las liquidaciones parciales que puedan establecerse tendr n car cter de documentos provisionales a buena cuenta sujeto a las certificaciones que resulten de la liquidaci n final No suponiendo dichas liquidaciones aprobaci n ni recepci n de las obras que comprenden Terminadas las obras se proceder a la liquidaci n final que se efectuar de acuerdo con los criterios establecidos en el contrato 5 4 3 REVISI N DE PRECIOS En el contrato se establecer si el contratista tiene derecho a revisi n de precios y la f rmula a aplicar para calcularla En defecto de esta ltima se aplicar a juicio del T cnico Director alguno de los criterios oficiales aceptados 5 4 4 PENALIZA
113. idas crisis dental asen Mb Do DD ADI DOS 22 1 4 2 BYTES DEFINIDOS PARA LA APLICACION ccscssssssssessssessessssesssscscsssssssssseesesessees 24 1 4 3 INICIALIZACGION j ire ek tk E E DAS 26 1 4 4 PRELUDIO AL MUESTREO Y ESCRITURA EN MEMORIA 1 ccecccceceeseeseeseeseeseeees 27 1 4 5 MUESTREO Y ESCRITURA EN MEMORIA 1 eccccsssssescsseeescneeecneeseeecneeseeeeneeseeeeneeaees 28 1 4 6 LECTURA DE MEMORIA Y TRANSMISI N cscsssscsssssessessescssessesscsessssssesessnsseeessees 28 1 4 7 RECEPCI N iiss aha an ck aaah ea Neha TS RE le la th 29 1 5 SOFTWARE DE ALTO NIV Bearer Go d 30 1 5 1 VENTANA DE MARCO PRINCIPAL conprir ta anda e e a IN 30 ESITI Barade titulo os AA Da IT et acting ED A ees eee 30 151 2 B rade MEN desa AA A ee A Ren ees E 31 1 5 2 NENTANAS HO AS ii A DA AN NR 32 1 5 2 1 Ventana de barra de herramientas oooooconinonoonnonnoonconnconccnnconncon nono nonn nono ER ED ron nr n rro nena nrnn neos 32 1 5 2 27 Ventana de Visita ia 32 1 5 2 3 Ventana de di logo de control ooonconnccnncnnccnnonnoonconnconoconoonnconnnnn nono DE DE non ron nro n rro raro nrnn nos 33 1 5 2 4 Ventana de di logo de control avanzado oooooconinonooononoconnconcoononnonononnnnnn nn ED Ea De nornnncn nro 34 1 5 2 5 Ventana de di logo de configuraci n de COMUNICACIONES 0ooooconccnconnocnoononanconncononnocnnnos 35 1 5 3 MODO DE EMPLEO out iaa 35 1 6 CARACTER STICAS OBTENIDA Sia 36 2 MEMORIA DE CATO o A e ara A A EEE ran 37 2 1
114. if m_bOnControlDlg No se pierden los datos miembro s lo se elimina m_pControlDlg gt DestroyWindow la ventana m_bOnControlDlg FALSE else if m_pControlDlg gt GetSafeHwnd 0 m_pControlDlg gt Create Muestra la ventana del di logo m_bOnControlDlg TRUE void CScopeView OnUpdateScopeControl CCmdUI pCmdUI if m_bOnControlDlg pCmdUI gt SetCheck 1 else pCmdUI gt SetCheck 0 LRESULT CScopeView OnScopeControlGoodbye WPARAM wParam LPARAM lParam Mensaje recibido en respuesta a la acci n del di ologo Control En wParam se almacena el ID que lo llama if wParam IDCANCEL m_pControlDlg gt DestroyWindow m_bOnControlDlg FALSE if wParam IDOK m_pControlDlg gt DestroyWindow m_bOnControlDlg FALSE m_aPaintCanal 0 nFactorY int m_pControlDlg gt m_nTrackbarCanall m_aPaintCanal 0 nFactorX int m_pControlDlg gt m_nTrackbarTimeDiv m_aPaintCanal 1 nFactorY int m_pControlDlg gt m_nTrackbarCanal2 m_aPaintCanal 1 nFactorX int m_pControlDlg gt m_nTrackbarTimeDiv m_aPaintCanal 2 nFactorY int m_pControlDlg gt m_nTrackbarCanal3 m_aPaintCanal 2 nFactorX int m_pControlDlg gt m_nTrackbarTimeDiv m_aPaintCanal 3 nFactorY int m_pControlDlg gt m_nTrackbarCanal4 m_aPaintCanal 3 nFactorX int m_pControlDlg gt m_nTrackbarTimeDiv InvalidateRect m_rectClientHimetric En c
115. l Contratista para subsanar los defectos observados fij ndose un plazo para ello expirando el cual se proceder a un nuevo reconocimiento a fin de proceder a la recepci n provisional Plazo de garant a El plazo de garant a ser como m nimo de un a o contando desde la fecha de la recepci n provisional o bien el que se establezca en el contrato tambi n contado desde la misma fecha Durante este per odo queda a cargo del Contratista la conservaci n del sistema y arreglo de los desperfectos causados por mala construcci n Recepci n definitiva Se realizar despu s de transcurrido el plazo de garant a de igual forma que la provisional A partir de esta fecha cesar la obligaci n del Contratista de conservar y reparar a su cargo los desperfectos si bien subsistir n las responsabilidades que pudiera tener por defectos ocultos y deficiencias de causa dudosa 5 1 11 RESPONSABILIDADES El contratista es responsable de la ejecuci n de los trabajos como fija el proyecto y tendr que reconstruir toda parte que no se ajuste al programa sin servir de excusa la raz n de que el director de obra haya examinado y reconocido la obra El contratista es el nico responsable de los posibles fallos cometidos por l o su personal as como de los accidentes o perjuicios producidos a la propiedad vecinos o terceros a causa de la inexperiencia o m todos inadecuados El contratista es el nico responsable del incumplimiento de las disposici
116. lidad de escoger el puerto de comunicaciones serie disponible y la velocidad de comunicaci n 1 Cuadro de grupo Puerto sus botones de radio dan la posibilidad de escoger entre los puerto de comunicaci n COM1 o COM2 2 Cuadro de grupo Baudios sus botones de radio permiten escoger entre un conjunto de velocidades de comunicaci n pero el perif rico desarrollado s lo se comunica a 9600 baudios 1 5 3 MODO DE EMPLEO El modo de utilizaci n del osciloscopio por un usuario es el siguiente 1 Configuraci n de las comunicaciones mediante el di logo de Configuraci n de comunicaciones se establece el puerto serie en el cual se conecta el perif rico COM1 o COM2 La velocidad de comunicaci n debe ser de 9600 baudios S lo es necesario realizar la configuraci n de las comunicaciones cada vez que se cambie el perif rico de perif rico de puerto serie y no en cada vez que se inicie la aplicaci n 2 Abrir puerto de comunicaciones presionando el elemento de men o bot n Abrir puerto se abre el canal serie si la operaci n es satisfactoria un di logo informativo alude a la acci n realizada 3 Controlar el osciloscopio con el di logo Controles que por omisi n se presenta al arrancar la aplicaci n se tiene acceso a la al modo de utilizaci n del osciloscopio Para que el funcionamiento sea correcto el cuadro de verificaci n Control interactivo debe estar habilitado 4 Guardar datos e impresi n mediante el elemento de men
117. m_pCanalDoc 3 nDivisor 0 m_pCanalDoc 3 bACDCneg FALSE m_pCanalDoc 3 bEnable FALSE return TRUE PELAR RARE REA EEE AA AAAA ATAA AAAA A ELL BEBE REE TATA AT ALLL A CScopeDoc serialization void CScopeDoc Serialize CArchive ar m_arrayMuestras Serialize ar Es la clase base de la plantilla la que se encarga de la serializaci n AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS CScopeDoc diagnostics ifdef _DEBUG void CScopeDoc AssertValid const CDocument AssertValid void CScopeDoc Dump CDumpContext amp dc const CDocument Dump dc endif DEBUG LA LALA AAA ER ERE REE BERE RE REE TAL AAT AL ATA ELL ATL ALL CScopeDoc commands void CScopeDoc OnUpdateFileSave CCmdUI pCmdUI pCmdUI gt Enable IsModified Habilita el bot n guardar si el documento ha sufrido cambios BOOL CScopeDoc OnOpenDocument LPCTSTR lpszPathName if CDocument OnOpenDocument lpszPathName return FALSE By guardados 4 By de estado m_nIndiceRX 7 By de datos 4 By trama final m_nVinPuntos m_arrayMuestras GetUpperBound 12 ScopeCrearVin UpdateAllViews NULL Actualiza la vista return TRUE AAA AMADA NA ADA LAILA AMA A AL A AMA A AA DUN LA MAMA AL AAA AAA AAA AAA AAA A LA AA L ADI ATT Codificaci n y creaci n del vector de la vista void CScopeDoc ScopeCrearVin Crea el vector con el puntero
118. m_pVin con doubles Los valores est n en V ms y los utilizara la vista para dibujar los canales en OnDraw y OnPrint ScopeDecodificarTramaRX 0 Se decodifican los bytes ScopeDecodificarTramaRX 1 de estado de cada uno de ScopeDecodificarTramaRX 2 los canales ScopeDecodificarTramaRX 3 int nNumCanales 1 if m _pCanalDoc 1 bEnable nNumCanales 2 if m_pCanalDoc 3 bEnable nNumCanales 4 if nNumCanales 1 for int i 0 i lt m_nVinPuntos i m_pVin i double m_arrayMuestras i 4 5 255 2 5 s_dValueGanancia m_pCanalDoc 0 nGanancia s dValueDivisor m _pCanalDoc 0 nDivisor else if nNumCanales 2 int nVinPuntos m nVinPuntos 2 for int i 0 i lt nVinPuntos i m_pVin 2 i double m_arrayMuestras 2 i 4 5 255 2 5 s_dValueGanancia m_pCanalDoc 0 nGanancia s dValueDivisor m_pCanalDoc 0 nDivisor m_pVin 2 i 1 double m_arrayMuestras 2 i 5 5 255 2 5 s_dValueGanancial m_pCanalDoc 1 nGanancia s dValueDivisor m _pCanalDoc 1 nDivisor else int nVinPuntos m nVinPuntos 4 for int i 0 i lt nVinPuntos itt A m_pVin 4 i double m_arrayMuestras 4 i 4 5 255 2 5 s_dValueGanancia m_pCanalDoc 0 nGanancia s dValueDivisor m_pCanalDoc 0 nDivisor m_pVin 4 i 1 double m_arrayMuestras 4 i 5
119. n j sizeRango cy 0 1 s_dValueCanal pCanal nFactorY Para no salirse del tama o del fondo if y gt nYmax y nYmax if y lt nYmax y nYmax if x gt sizeRango cx x sizeRango cx if x lt sizeRango cx x sizeRango cx pDC gt LineTo CPoint x y Dibuja una linea pDC gt SelectObject pOldPen Fin CscopeView ScopeDrawChanel par metros Ilustraci n 2 33 dibujar un canal 2 3 1 6 Controles del osciloscopio Di logo CcontrolDlg Si se produce cualquier cambio en sus controles entonces se env a un mensaje a la ventana vista if ControlInteractivo CControlDlg ScopeCodificarTramaTX Mensaje IDENVIAR else Mensaje IDAPPLY Mensaje Gestion del mensaje CScopeView OnScopeControlGoodbye If Mensaje IDAPPLY Actualizar los valores de representaci n por pantalla de los canales InvalidateRect If Mensaje IDENVIAR m_pRs232 TX m_pControlDlg gt m_pTXCadena 1 Se env a un solo mensaje a la cola del canal serie de transmisi n InvalidateRect Ilustraci n 2 34 control del perif rico 2 3 1 7 Codificaci n de rdenes El proceso de codificaci n de rdenes lo realiza la funci n del di logo de control CControlDlg ScopeCodificarTramaTX Ha sido necesaria la creaci n de una tabla para determinar la orden que precisa el perif rico en funci n del valor de los voltios partido divisi n Tambi
120. n se codifica otros par metros como el modo AC o DC el canal referenciado pero son mucho m s f ciles de implementar que el cuadro presentado a continuaci n CODIFICACI N DE LA GANANCIA DEL PERIF RICO Rango V div V div Rango FAC GAN1 GAN2 GAN3 a max Vin real 0 5 0 012 0 006 311 1000 fo fo fo 1 fooi fooi 2208 325 fare fare ce CC 200 o fp H p 5 02 ooe jste 25 832 1832 _ ssp O C FER 20 1 20 0 2 s naa Ce LEE 0 005 Cuadro 23 codificaci n de la ganancia Los valores en negrita son los descartados Gan ganancia desarrollada por el amplificador inversor de ganancia variable Div atenuaci n otorgada por el divisor de tensi n Geq valor equivalente de aplificaci n o atenuaci n Vin max tensi n de entrada m xima de un canal Vx max tensi n m xima en la entrada del amplificador inversor sumador Rango Vin rango m ximo de la tensi n de entrada V div voltios partido divisi n te ricos V div real voltios partidos divisi n reales o t picos Rango real rango m ximo de tensi n con V div real FAC GAN1 GAN2 GAN3 bits para la codificaci n de un Byte de Estado NOTA el numero de divisiones 10 Vin max 311 y todos los Vx max 2 5 son criterios de disefio 3 PLANOS 4 PRESUPUESTO 4 1 MEDICIONES C DIGO DESCRIPCI N CANTIDAD UNIDADES 1 Pu
121. nCancel 7 BIBLIOGRAF A T tulo Autores Editorial T tulo Autores Editorial T tulo Autores Editorial T tulo Autor Editorial T tulo Autor Editorial CIRCUITOS Y SE ALES Introducci n a los circuitos lineales y de acoplamiento R E Thomas A J Rosa REVERTE Dise o electr nico CIRCUITOS Y SISTEMAS C J Savant Jr Martin S Roden Gordon L Carpenter ADDISON WESLEY IBEROAMERICANA EL LENGUAJE DE PROGRAMACION C Brian W Kernighan Dennis M Ritchie Prentice Hall C Gu a de autoense anza Herbert Schildt Osborne McGraw Hill Programaci n avanzada con Microsoft Visual C David J Kruglinski McGraw Hill Apuntes de las siguientes asignaturas Informatica Industrial I Informatica Industrial II Tecnologia Electr nica I Ingenieria de Equipos Electr nicos I Sistemas de Telecomando Sistemas Digitales II
122. nIndiceRX 0 By recibidos m_pControlDlg new CControlDlg this m_bOnControlDlg FALSE m_pActuarDlg m_bOnActuarDlg new CActuarDlg this FALSE Anchos de pluma y colores de los canales para la pantalla m_aPaintCanal 0 nCanal 0 m_aPaintCanal 0 nFactorx 0 m_aPaintCanal 0 nFactorY 0 m_aPaintCanal 0 nWidthc 4 m_aPaintCanal 0 bRedc 255 m_aPaintCanal 0 bGreenC 255 m_aPaintCanal 0 bBlueC 255 m_aPaintCanal 1 nCanal i m_aPaintCanal 1 nFactorx 0 m_aPaintCanal 1 nFactorY 0 m_aPaintCanal 1 nWidthc 4 m_aPaintCanal 1 bRedc 255 m_aPaintCanal 1 bGreenC 150 m_aPaintCanal 1 bBlueC 150 m_aPaintCanal 2 nCanal 27 m_aPaintCanal 2 nFactorx 0 m_aPaintCanal 2 nFactorY 0 m_aPaintCanal 2 nWidthC 4 m_aPaintCanal 2 bRedC 150 m_aPaintCanal 2 bGreenC 255 m_aPaintCanal 2 bBlueC 150 m_aPaintCanal 3 nCanal 3 m_aPaintCanal 3 nFactorx 0 m_aPaintCanal 3 nFactorY 0 m_aPaintCanal 3 nWidthC 4 m_aPaintCanal 3 bRedC 150 m_aPaintCanal 3 bGreenC 150 m_aPaintCanal 3 bBlueC 255 Anchos de pluma y colores de los canales para la impresora m_aPrintCanal 0 nCanal 0 m_aPrintCanal 0 nFactorx 0 m_aPrintCanal 0 nFactorY 0 m_aPrintCanal O nwidthC 4 m_aPrintCanal 0 bRedC O m aPrintCanal 0 bGreenC O m_aPrintCanal 0 bBlueC O m_aPrintCanal 1 nCanal 1 m_aPrintCanal 1 nFactorX 0 m_aPrintCanal 1 nFactorY 0 m_aPrintCanal 1
123. nalDoc 2 bACDCneg FALSE m_pCanalDoc 2 bEnable FALSE m_pCanalDoc 3 nGanancia 0 m_pCanalDoc 3 nDivisor O m_pCanalDoc 3 bACDCneg FALSE m_pCanalDoc 3 bEnable FALSE return TRUE STARR REDEE EE EEE ERE RE RELE RRE EE RELE EEE EEL AAALAC ALL ALLL CScopeDoc serialization void CScopeDoc Serialize CArchive ar m_arrayMuestras Serialize ar Es la clase base de la plantilla la que se encarga de la serializaci n ARA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA TAA AAT CScopeDoc diagnostics ifdef DEBUG void CScopeDoc AssertValid const CDocument AssertValid void CScopeDoc Dump CDumpContext amp dc const CDocument Dump dc endif DEBUG ESTARE REE AA CIAA ALAA EEE AAAA AAAA AAA BEBE BE E BEREBER BEBE AT ALLL CScopeDoc commands void CScopeDoc OnUpdateFileSave CCmdUI pCmdUI pCmdUI gt Enable IsModified Habilita el bot n guardar si el documento ha sufrido cambios BOOL CScopeDoc OnOpenDocument LPCTSTR lpszPathName if CDocument OnOpenDocument lpszPathName return FALSE By guardados m_nVinPuntos m_arrayMuestras GetUpperBound ScopeCrearVin UpdateAllViews NULL return TRUE Actualiza la vista 4 By de estado m_nIndiceRX 7 By de datos 4 By trama final 12 AAA TAALA ANL AIAI ILALL TTT TTT ATTA TTT TTT ATTA TT TTT Codificaci n y creaci n del vector de la vista
124. nciados por el Ingeniero que representa el T cnico Director de obra Los resultados de los ensayos ser n pasados en certificados indicando fecha y nombre de la persona a cargo del ensayo as como categor a profesional Los cables antes de ponerse en funcionamiento se someter n a un ensayo de resistencia de aislamiento entre fase y tierra 5 3 5 ENSAYOS DE APARELLAJE Antes de poner el aparellaje bajo tensi n se medir la resistencia de aislamiento de cada equipo entre fases y tierra Las medidas deben repetirse con los interruptores en posici n de funcionamiento Todo rel de protecci n que sea ajustable ser calibrado y ensayado usando contador de ciclos caja de carga amperimetro y voltimetro seg n se necesite Se dispondr en lo posible de un sistema de protecci n selectiva De acuerdo con esto los rel s de protecci n se elegir n y coordinar n para conseguir un sistema que permita actuar primero el dispositivo de interrupci n m s pr ximo a la falta Todos los interruptores autom ticos se colocar n en posici n de prueba y cada interruptor ser cerrado y disparado desde su interruptor de control Los interruptores deben ser disparados por accionamiento manual y aplicando corriente a los rel s de protecci n Se comprobar n todos los enclavamientos 5 4 CONDICIONES ECONOMICAS 5 4 1 PRECIOS El contratista presentar al formalizarse el contrato relaci n de los precios de las unidades de trabajo que inte
125. nt Paritat int ControlFlux HWND hFinestra void pRxApli int CRS232 adreca aten apli Tx Parametres port m_nPort Port m_nBaudis Baudis m_nBitsCar BitsCar m_nBitsParada BitsParada m_nParitat Paritat m_nControlFlux ControlFlux handler per a l emissio de missatges WM_ DestiMsg hFinestra adreca funci s d atencio pRutinaAtencio pRxApli IN RR oo BOOL CRS232 ObrirPort char szPort 10 BOOL a Formar la cadena COMx wsprintf szPort COM d m_nPort 1 La funci n wsprintf formatea y almacena una serie de caracteres y valores en un buffer Obrir el port de comunicacions m_idDisCom CreateFile szPort COM1 6 COM2 GENERIC_READ GENERIC_ WRITE RD WR O obert en mode exclussiu NULL Sense atributs de seguretat OPEN EXISTING Comm gt sempre aix FILE FLAG OVERLAPPED Overlapped assincron en background NULL Comm gt sempre aixi La funsi n CreateFile crea o abre los siguientes objetos y devuelve un handle que puede ser usado para acceder al objeto files pipes mailslots communications resources disk devices Windows NT only consoles directories open only HANDLE CreateFile LPCTSTR lpFileName pointer to name of the file DWORD dwDesiredAccess access read write mode DWORD dwShareMode share mode LPSECURITY ATTRIBUTES lpSecurityAttributes pointer
126. ntDevice cy en unidades dispositivo else nSizeMinPrintDevice sizePrintDevice cx pDC gt SetViewportOrg 0 nSizeMinPrintDevice 2 Se establece el origen rectPrintLogical NormalizeRect CSize sizePrintLogical rectPrintLogical Size int nSizeMinPrintLogical Se establece el tamafio minimo if sizePrintLogical cy gt sizePrintLogical cx nSizeMinPrintLogical sizePrintLogical cx en unidades l gicas else nSizeMinPrintLogical sizePrintLogical cy CSize sizeRangoHimetricPrint CSize nSizeMinPrintLogical nSizeMinPrintLogical CScopeDoc pDoc GetDocument Se obtiene el puntero del documento int nCanalMux 0 Canal 1 siempre activo if pDoc gt m_pCanalDoc 1 bEnable nCanalMux 1 if pDoc gt m_pCanalDoc 3 bEnable nCanalMux 3 Se dibuja el fondo ScopeBackground pDC CSize nSizeMinPrintLogical nSizeMinPrintLogical Unidades l gicas 255 RedB 255 GreenB 255 BlueB 1 WidthP 100 RedP 100 GreenP 100 BlueP Se dibujan el los canal es if nCanalMux 0 ScopeDrawChanel pDC pDoc sm aPrintCanal 0 1 sizeRangoHimetricPrint 0 019 En ms if nCanalMux 1 ScopeDrawChanel pDC pDoc m_aPrintCanal 0 Zin sizeRangoHimetricPrint 2 0 034 En ms ScopeDrawChanel pDC pDoc sm aPrintCanal 1 2 sizeRangoHimetricPrint 2 0 034 En ms if nCanalMux 3 Scop
127. nterior existe la resistencia R16 para compensar las corrientes de offset 1 3 3 CIRCUITER A DE ALIMENTACI N 1 3 3 1 Fuente de tensi n de 5 voltios La siguiente figura ilustra el circuito implementado 220Vacl8 ac u10 US epee ATE fe bee Ja ES Tags 100107 B40 1500 1000 4 Ilustraci n 1 10 fuente de tension de 5 voltios Para otorgar la energia digital se ha implementado una fuente de tension de 5 V sta gira entorno al circuito integrado UA7805 Este elemento permite un sencillo esquema de montaje a costa de un bajo rendimiento energ tico debido a que esta constituido por un regulador de tensi n lineal El condensador C18 otorga estabilidad en la tensi n de salida ante cargar capacitivas y el condensador C15 realiza lo propio si el condensador de filtrado esta situado lejos de C15 Los valores de estos elementos vienen dados por las recomendaciones del fabricante de este circuito integrado Se ha implementado un rectificador de onda completa con el puente de diodos Ul7 La tensi n pulsante obtenida es filtrada mediante el condensador C19 Con el objetivo de no sobrecargar el UA7805 los rel s de las etapas de entradas son alimentados mediante la tensi n de 9 5 V de esta forma no es necesario un disipador en el U10 Para conseguir una tensi n de entrada en U10 lo suficientemente peque a se hace necesaria la utilizaci n de un transformador con una relaci n de transformaci n de 220 8
128. o tiene asociado un condensador de 100 nF entre su terminal de alimentaci n y masa Esto es as para mantener constante esta tensi n en picos de demanda de energ a 1 3 1 2 Convertidor A D A continuaci n se ilustra el circuito implementado C3 C33 100010 l ADCOISIOCON OFL DB DEL gt WEl14W Ilustraci n 1 6 convertidor A D El convertidor A D es un ADC0820 en configuraci n de lectura RD El montaje viene descrito en las hojas de especificaciones otorgadas por fabricante que se pueden consultar en el anexo El tiempo de conversi n m ximo en este modo es de 2 5 us valor m s que suficiente para los requisitos del microcontrolador utilizado Esta situaci n da la posibilidad futura de utilizar un microcontrolador m s veloz para incrementar el ciclo de muestreo evidentemente el cristal de cuarzo debe esta concorde a la frecuencia de uso Como se puede observar en convertidor A D es de 8 bits lo que da la posibilidad de una implementaci n sencilla ste inicia la conversi n cuando el pin INT1 adquiere el estado cero y 2 5 us despu s la informaci n es v lida en el puerto uno En la l nea de disparo se ha colocado una resistencia de pull up para otorgar la energ a necesaria en el estado uno bajo esta situaci n el convertidor sus l neas DB0 7 en tercer estado alta impedancia Seg n las hojas de especificaci n del fabricante el conversor A D debe trabaja entre un margen de tensiones entre O y 5
129. o zener de 5 1V Por ste deben circular 20mA para mantener entre sus bornes una tension estable entonces 146 20 107 De igual modo que el apartado anterior se ha puesto una resistencia en el terminal positivo del UOS5A para compensar la ca da interna de tensi n debida a las corrientes de offset de valor 450 gt Valor comercial R 43Q Ri Rs Re R R R R R R Ris R RR Como RR ER R 2 1 3 CIRCUITER A DE ALIMENTACI N 2 1 3 1 Estudio preliminar 2 1 3 1 1 Rectificaci n y filtrado Un rectificador de onda completa transfiere energ a de la entrada a la salida durante todo el ciclo de la se al y proporciona mayor corriente promedio por cada ciclo en relaci n con la que se obtiene utilizando un rectificador de media onda El promedio de una funci n peri dica se define como la integral de la funci n sobre un periodo dividida por el periodo Es igual al primer t rmino del desarrollo de la funci n en series de Fourier El rectificador de onda completa produce el doble de corriente promedio en relaci n con elrectificador de media onda Ilustraci n 2 9 rectificaci n y filtrado El puente rectificador de la ilustraci n 2 9 realiza la rectificaci n de onda completa Cuando la fuente de tensi n es positiva los diodos 1 y 4 conducen y los diodos 2 y 3 son circuitos abiertos Cuando la fuente de tensi n se vuelve negativa se invierte la situaci n y los diodos 2 y 3 conducen Se ha a adido un tran
130. obrir el port Tabla de baudios obtenida de la estructura DCB miembro BaudRate m_wTablaBaudios 0 CBR_1200 m_wTablaBaudios 1 CBR_2400 m_wTablaBaudios 2 CBR_4800 m_wTablaBaudios 3 CBR_9600 m_wTablaBaudios 4 CBR_19200 m_wTablaBaudios 5 CBR_38400 m_wTablaBaudios 6 CBR_115200 Tabla de paridad obtenida de la estructura DCB miembro Parity m_TablaParidad 0 NOPARITY m TablaParidad EVENPARITY m TablaParidad 2 ODDPARITY m TablaParidad 3 MARKPARITY m_TablaParidad 4 SPACEPARITY Tabla de paridad obtenida de la estructura DCB miembro StopBits m TablaBitsParada 0 ONESTOPBIT m_TablaBitsParada 1 ONESSTOPBITS m_TablaBitsParada 2 TWOSTOPBITS The DCB structure defines the control setting for a serial communications device typedef struct DCB dcb DWORD DCBlength sizeof DCB DWORD BaudRate current baud rate DWORD fBinary 1 binary mode no EOF check DWORD fParity 1 enable parity checking DWORD fOutxCtsFlow 1 CTS output flow control DWORD fOutxDsrFlow 1 DSR output flow control DWORD fDtrControl 2 DTR flow control type DWORD fDsrSensitivity 1 DSR sensitivity DWORD fTXContinue0nXoff 1 XOFF continues Tx DWORD fOutX 1 XON XOFF out flow control DWORD fInX 1 XON XOFF in flow control DWORD fErrorChar 1 enable error replacement DWORD fNull 1 enable null stripping DWORD fRtsControl 2 RTS flow cont
131. ones vigentes en la materia laboral respecto de su personal y por tanto los accidentes que puedan sobrevenir y de los derechos que puedan derivarse de ellos 5 1 12 FIANZA En el contrato se establecer la fianza que el contratista deber depositar en garant a del cumplimiento del mismo o se convendra una retenci n sobre los pagos realizados a cuenta del trabajo ejecutado De no estipularse la fianza en el contrato se entiende que se adopta como garant a una retenci n del 5 sobre los pagos a cuenta citados En el caso de que el Contratista se negase a hacer por su cuenta los trabajos para ultimar el proyecto en las condiciones contratadas o a atender la garantia la Propiedad podr ordenar ejecutarlas a un tercero abonando su importe con cargo a la retenci n o fianza sin perjuicio de las acciones legales a que tenga derecho la Propiedad si el importe de la fianza no bastase La fianza retenida se abonar al Contratista en un plazo no superior a treinta d as una vez firmada el acta de recepci n definitiva de la obra 5 2 CONDICIONES T CNICAS 5 2 1 CONDICIONES DE LAS PLACAS DE C l Las placas de circuito impreso deber n ser dise adas por el fabricante bajo las siguientes normas Ancho de las pistas de se al 0 5 mm Ancho delas pistas de alimentaci n 2 mm Osciladores de cuarzo tumbados sobre plano de masa Los condensadores de desacoplo deber n ir situados lo m s cerca posible del pin de alimentaci n
132. oordenadas l gicas if wParam IDC_MIAPPLY Envia la informaci n a la tarjeta UpdateData TRUE if m_pControlDlg gt m_bInteractivo if m_pActuarDlg gt m_bEnableOut char pcTX 10 _itoa BYTE m_pControlDlg gt m_pTXCadena 0 pcTX 16 m pActuarDlg gt m_strEditTX pcTX m_pActuarDlg gt m_strEditTX m_pActuarDlg gt UpdateData FALSE BOOL bTransmit m_pRs232 gt TX m_pControlDlg gt m_pTXCadena 1 if bTransmit 0 char pcMensaje 100 wsprintf pcMensaje Error al escribir en el puerto serie MessageBox pcMensaje AfxGetAppName MB OK MB_ICONSTOP if wParam IDAPPLY Actualiza la vista m_aPaintCanal 0 nFactorY int m_pControlDlg gt m_nTrackbarCanall m_aPaintCanal 0 nFactorX int m_pControlDlg gt m_nTrackbarTimeDiv m_aPaintCanal 1 nFactorY int m_pControlDlg gt m_nTrackbarCanal2 m_aPaintCanal 1 nFactorX int m_pControlDlg gt m_nTrackbarTimeDiv m_aPaintCanal 2 nFactorY int m_pControlDlg gt m_nTrackbarCanal3 m_aPaintCanal 2 nFactorX int m_pControlDlg gt m_nTrackbarTimeDiv m_aPaintCanal 3 nFactorY int m_pControlDlg gt m_nTrackbarCanal4 m_aPaintCanal 3 nFactorX int m_pControlDlg gt m_nTrackbarTimeDiv InvalidateRect m_rectClientHimetric En coordenadas l gicas return OL AAA Di logo de control avanzado void CScopeView OnScopeActuar if m_bOnActuarDlg
133. or int i 0 i lt m_nNumBytesTX 12 2 i m pCadenaTX 2 i 8 BYTE 128 120 sin 10 i 2 pi m_nNumBytesTX 12 m pCadenaTX 2 i 9 BYTE 128 120 sin 15 i 2 pi m_nNumBytesTX 12 else 1 canal for int i 0 i lt m_nNumBytesTX 12 i m_pCadenaTX i 8 BYTE 128 110 sin 50 i 2 pi m_nNumBytesTX 12 m_pCadenaTX m_nNumBytesTX 4 0x04 Trama final m_pCadenaTX m_nNumBytesTX 3 OxFB m_pCadenaTX m_nNumBytesTX 2 0x04 m_pCadenaTX m_nNumBytesTX 1 OxFB 6 2 9 CLASE CCONFIGCOMDLG if defined AFX_CONFIGCOMDLG H A4AFC49A5 CCOF 11D3 BB39 96F49A117913 INCLUDED define AFX CONFIGCOMDLG H A4AFC49A5 CCOF 11D3 BB39 96F49A117913 INCLUDED if MSC VER gt 1000 pragma once tendif MSC_VER gt 1000 ConfigComDlg h header file LA LILALTLA LA LALLAXLLA XA LA LILA AL ALI MALLA Adl ded At AA ES L I A A ed AA Tl AA AA ELA DAL CConfigComDlg dialog class CConfigComDlg public CDialog Construction public CConfigComDlg CWnd pParent NULL standard constructor Dialog Data AFX_DATA CConfigComDlg enum IDD IDD CONFIGCOM DLG int m_nBaudios int m_nCom AFX DATA Overrides ClassWizard generated virtual function overrides AFX_VIRTUAL CConfigComDlg protected virtual void DoDataExchange CDataExchange pDX DDX DDV support JAFX_VIRTUAL Implem
134. os grandes bloques a Digital Administraci n de una tensi n de alimentaci n de 5 voltios a la circuiteria digital y una tensi n aproximada de 10 voltios para los rel s b Anal gico Proporciona una tensi n positiva de 6 voltios y una negativa de 6 voltios para la alimentaci n de la circuiteria anal gica Las masas de ambos bloques permanecer n separadas para evitar interferencias entre si pero se cortocircuitaran en un solo punto para que posean un mismo potencial 2 1 3 2 1 Fuente de tensi n de 5 voltios Para implementar la alimentaci n digital se a utilizado un UA7805C que es equivalente al L7805 Se ha sobredimensionado la cantidad de corriente que deber a pasar por el regulador calculando el sumatorio de las corrientes m ximas de la circuiter a digital a continuaci n se presenta una tabla COMPONENTE CORRIENT CANTIDAD CORRIENTE PARCIAL E 1 unidad RY610012 23mA 4unidades 92mA LED PMA Iunidd _ mA Resistencia RO See UTM Resistencias R03 R28 y 2 5 mA 3 unidades 7 5 mA R29 CORRIENTE TOTAL 564 5 mA Cuadro 2 2 corriente digital NOTA Los valores de las corrientes m ximas se han obtenido de las hojas de especificaciones incluidas en el ap ndice Las corrientes de las resistencias se han calculado mediante la expresi n J JA f Los valores necesarios para el c lculo del condensador del filtro son Vo 5V Vinin Vo 4 5 4 9 V Vina 10V AV V mas Viman 10 9 1V Lomax 565mMA 0
135. p 7 1By 1CM nop 71By 1CM MUESTRA clr INT 2By 1CM Disparo el A D movx DPTR A 1By 2CM Guardo en memoria la muestra anterior inc DPTR 1By 2CM Incremento el puntero mov A P 2By 1CM Leo el valor de la conversi n actual setb INT1 2By 1CM En 500 ns el A D listo para otra conversi n mov 0H DPL 3By 2CM En RO la parte baja de DPTR xrl OH FCH 3By 2CM RO xor FC si son iguales gt RO 0 cjne RO 0 MUESTRA2 3By 2CM 1f RO O goto MUESTRA mov OH DPH 3By 2CM En RO la parte baja de DPTR xrl 0H 83H 3By 2CM RO xor 83 si son iguales gt RO O cjne RO 0 MUESTRA 3By 2CM 1f RO O goto MUESTRA ljmp FSAMPLER CMtotal 1 2 24 14 1 2 2 2 2 2 2 19 CM APS ea ERARE ES Fin sin multiplexaci n MUX1Y2 fa cg ges tre tea eat e ES Con multiplexaci n de Canales 1 y 2 mov A 31H Cargo la copia de BCON1 mov DPTR 0000H Direcci n del BCON movx DPTR A Act o sobre la electr nica con BCON1 mov DPTR 8008H Direcci n inicial para los datos clr INT 2By 1CM Disparo el A D nop 7 1By 1CM nop 7 1By 1CM nop 1By 1CM Para esperar los 2 5 us mov A P 2By 1CM Leo el valor de la conversi n setb INT1 2By 1CM En 500 ns el A D listo para otra conversi n nop 7 1By 1CM mov R7 01H 2By 1CM Retardo de 2 10 1 CM RETARDO2 nop 7 1By 1CM nop 7 1By 1CM nop 7 1By 1CM nop 7 1By 1CM nop 7 1By 1CM nop 7 1By 1CM no
136. p 7 1By 1CM nop 7 1By ICM djnz R7 RETARDO2 2By 2CM MUES2 nop 7 1By 1CM nop 7 1By 1CM nop 7 1By 1CM nop 7 1By 1CM nop 71By 1CM nop 7 1By 1CM MUES clr INT1 2By 1CM Disparo el A D movx DPTR A 1By 2CM Guardo en memoria la muestra anterior cpl TO 1By 1CM CA2 de TO jb TO TOES1 3By 2CM mov A 31H 2By 1CM T0 0 se refiere al Canal 1 gt BCON1 sjmp TOESO 2By 2CM TOES1 mov A 32H 2By 1CM TO 1 se refiere al Canal 2 gt BCON2 nop lBy 1CM nop 1By 1CM TOESO mov R1 DPL 2By 2CM Guardo el DPTR mov R2 DPH 7 2By 2CM mov DPTR 0000H 2By 2CM de BCON movx DPTR A 1By 2CM Actto sobre la electr nica mov DPL R1 2By 2CM Restauro el DPTR mov DPH R2 2By 2CM inc DPTR 1By 2CM Incremento el puntero mov A P1 2By 1CM Leo el valor de la conversi n actual setb INT 2By 1CM En 500 ns el A D listo para otra conversi n mov 0H DPL 3By 2CM En RO la parte baja de DPTR xrl OH FCH 3By 2CM RO xor FC si son iguales gt RO O cjne RO 0 MUES2 3By 2CM 1f RO O goto MUESTRA mov 0H DPH 3By 2CM En RO la parte baja de DPTR xrl 0H 83H 3By 2CM R0 xor 83 si son iguales gt RO 0 cjne RO 0 MUES 3By 2CM If RO O goto MUESTRA ljmp FSAMPLER CMtotal 1424 14 24 14 24 24 24 242424 24 24 141424 24 2 2 2 2 34 CM A Stes SReses SS Con multiplexaci n de Canales 1 y 2 FSAMPLER Fin MUESTREAR Y GUARDAR EN MEMORIA 1012 MUESTRAS ESPERA TRANS mov A
137. por un condensador de entrada de 10 pF y una resistencia equivalente aproximada de 1 MQ que son valores t picos de la impedancia de entrada de un osciloscopio Las resistencias equivalentes de entrada est n formadas a su vez por dos creando un divisor de tensi n Los rel s asociados se encargan de seleccionar entre las tensiones proveniente de los canales de entrada atenu ndola mediante el divisor de tensi n o no A continuaci n se ha implementado una resistencia en serie con la salida de cada rel sta es superflua siempre y cuando no entren en conducci n los diodos Los diodos tienen la funci n de limitar la tensi n otorgada a la siguiente etapa y la resistencia limitar la corriente que puede circular a trav s los diodos Esta configuraci n recorta la tensi n entre unos m rgenes de 5 3 V hasta 5 3V Finalmente existe un multiplexor anal gico de ocho entradas donde s lo cuatro son utilizadas stas adquieren las tensiones de entrada mediante unas etapas separadoras para evitar efectos de carga La selecci n de los canales se realiza mediante las l neas CAN1 y CAN2 que son los pines TO y T1 respectivamente provenientes del microcontrolador Se han dimensionado los elementos para que puedan soportar la tensi n de red es decir 220 voltios eficaces o lo que es lo mismo 311 voltios de pico 1 3 2 2 Amplificador inversor de ganancia variable Para implementar la caracter stica t pica de un osciloscopio en lo q
138. positivo del convertidor A D se ha utilizado un diodo zener de 5 6V Por ste deben circular 20mA para mantener entre sus bornes una tensi n estable entonces A 2 200 20 10 Mediante el potenci metro multivuelta RV10 se consigue ajusta la tensi n de referencia a un valor de 5V como el fabricante especifica N tese que en la ilustraci n presentada no est n representados el circuito de reset ni el de oscilaci n Esto es as por que stos no participan en c lculo alguno 02 2 1 2 CIRCUITER A ANAL GICA 2 1 2 1 Etapa de entrada y multiplexaci n El sistema de adquisici n de datos consta de cuatro entradas se presenta el dise o y an lisis de una sola de ellas debido a que las tres restantes son equivalentes En la ilustraci n 2 2 se presenta una de stas 6 100n 12 D1N4004 Q a mM 5 o a RY610012 RLO1 R39 1M 1 2W 12K 1 4 E 10p 4007 Ilustraci n 2 2 etapa de entrada Vines la sefial que se desea medir y presenta un acoplamiento mediante una impedancia de entrada de aproximadamente IMQ en paralelo con 10 pF que son unos valores tipicos para un osciloscopio El puerto DIV1B proviene de un buffer circuito integrado U18 formado por un Darlington cuya base a su vez es alimentada mediante el pin 16 puerto DIV1 del circuito integrado U19 Ha sido necesaria la utilizaci n de un buffer ya que la corriente demanda por el rel es muy superior a la que puede otorgar el lach MC74HC573 U19
139. r el canal serie un bloque de datos seg n el los canales habilitados con el bot n Enable Para apreciar el resultado deben cortocicuitarse los pines de transmisi n y recepci n del puerto serie del PC Cuadro de verificaci n Tramas si est inhabilitado s lo se presenta informaci n del canal serie en los cuadros de edici n en caso contrario las comunicaciones en la recepci n deben poseer una trama de inicio y otra de final Cuadro de grupo Canal los botones de radio de este cuadro codifican el canal correspondiente mediante el bot n Aplicar Cuadro de verificaci n Enable habilita el canal seleccionado mediante el bot n Aplicar Cuadro de grupo Por 0 012 sus botones de radio codifican el divisor de tensi n 10 Cuadro de grupo Por sus botones de radio codifican el amplificador inversor de ganancia variable 11 Cuadro de grupo Filtro sus botones de radio codifican el modo AC o DC 12 Cuadro de edici n By Out monitoriza los bytes que est n apunto de ser enviados o est n siendo enviados 12 1 Bot n Limpiar limpia el cuadro de edici n By Out 12 2 Cuadro de verificaci n E habilita el cuadro de edici n By Out 13 Cuadro de edici n By In monitoriza los bytes que est n siendo recibidos 13 1 Bot n Limpiar limpia el cuadro de edici n By In 13 2 Cuadro de verificaci n E habilita el cuadro de edici n By In 1 5 2 5 Ventana de di logo de configuraci n de comunicaciones Este di logo otorga la posibi
140. r la informaci n al usuario correctamente Finalmente se comprueba si est habilitado el control manual y si es as entonces se espera indeterminadamente al disparo proveniente del PC Si no esta habilitado el control manual simplemente se inicia el muestreo 1 4 5 MUESTREO Y ESCRITURA EN MEMORIA En los instantes iniciales se determina el tipo de multiplexaci n requerido es decir sin multiplexaci n Canal 1 multiplexaci n de los Canales 1 y 2 o de los Canales 1 2 3 y 4 Si s lo se utiliza el Canal 1 se consigue la maxima frecuencia de muestreo si se multiplexan todos los canales se obtiene la situaci n contraria La secuencia del proceso es similar en todos los modos Se escribe en BCON el BCON1 y se realiza una conversi n Comienza un bucle en el que se realizan 1012 muestras y escrituras en memoria teniendo en cuenta los requisitos de multiplexaci n Esto implica cargar en BCON el correspondiente byte de control del canal que se va a muestrear Mediante las bits TO y T1 se escoge el canal a muestrear Estos bits se dirigen directamente al multiplexor anal gico de las etapas de entrada Finalmente se escribe en memoria la trama final formada por la secuencia 0x04 OxFB 0x04 y OxFB Esto otorga al PC la posibilidad de contar el n mero de bytes recibidos 1 4 6 LECTURA DE MEMORIA Y TRANSMISI N Este proceso est formado por un bucle que se ejecuta 1024 veces En cada pasada se realiza una lectura de memoria y posterior
141. rTramaRX 3 Si m_pCanalDoc 3 Enable for int i 0 i lt m_nVinPuntos 4 i m_pVin 4 i m_arrayMuestras 4 1 4 5 255 2 5 s_dValueGanancia m_pCanalDoc 0 nGanancia s dValueDivisor m_pCanalDoc 0 nDivisor m _pVin 4 1 1 m_arrayMuestras 4 i 5 5 255 2 5 s dValueGanancia m_pCanalDoc nGanancia s dValueDivisor m_pCanalDoc 1 nDivisor m_pVin 4 i 2 m_arrayMuestras 4 i 6 5 255 2 5 s dValueGanancia m_pCanalDoc 2 nGanancia s dValueDivisor m pCanalDoc 2 nDivisor m_pVin 4 i 3 m_arrayMuestras 4 i 7 5 255 2 5 s_dValueGanancia m_pCanalDoc 4 nGanancia s dValueDivisor m_pCanalDoc 4 nDivisor m_pCanalDoc 1 Enable for int i 0 1 lt m_nVinPuntos 2 i m_pVin 2 i m_arrayMuestras 2 1 4 5 255 2 5 s_dValueGanancia m_pCanalDoc 0 nGanancia s dValueDivisor m_pCanalDoc 0 nDivisor m_pVin 2 i 1 m_arrayMuestras 2 i 5 5 255 2 5 s dValueGanancia m pCanalDoc 1 nGanancia s dValueDivisor m pCanalDoc 1 nDivisor for inti 0 1 lt m_nVinPuntos i m_pVin i m_arrayMuestras 1 4 5 255 2 5 s_dValueGanancia m_pCanalDoc 0 nGanancia s dValueDivisor m_pCanalDoc 0 nDivisor Inicio CScopeDoc ScopeCrearVin 2 3 1 4 Dibujar ventana vista Inicio CScopeView OnDraw CDC pDC Se obtiene el tama
142. re para el microcontrolador 89C51 con una frecuencia de pros trabajo de 12 MHz gt Ciclo Maquina CM 1 us pos Existe una memoria de datos externa de 8 KBy en ees InicialMemoria 1xx0 0000 0000 0000 B 8000 H ia ata FinalMemoria lxxl 1111 1111 1111 B 9FFF H Spr El Byte de Control BCON esta mapeado en memoria el la direcci n pose BCON OXXX XXXX XXXX XXXX B 0000H pras BCON 7 BCON 6 BCON 5 BCON 4 BCON 3 BCON 2 BCON 1 BCON 0 a alates FAC4 FAC3 FAC2 FAC1 GAN1 GAN2 GAN3 AC DC jocc FACx 0 gt Canal x por factor de 0 012 FACx 1 gt Canal x por factor de 1 sin factor pon Donde x 1 2 3 4 pee GAN3 GAN2 GAN1 GANANCIA 7 phra Pos Paso 0 gt 0 5 z posa ORA Deas i gt 1 pas 0 1 0 gt 2 0 1 1 gt 5 A le Pa 0 gt 10 y fore Lan Gap de AN prae dE di 0 gt 50 5 1 1 1 gt 100 AC DC 0 gt Modo DC Pose AC DC 1 gt Modo AC S INICIO El Byte de Estado BEST es especifico para cada canal a su vez es el byte que se transmite por canal serie que a SAS BEST 7 BEST 6 BEST 5 BEST 4 BEST 3 BEST 2 BEST 1 BEST 0 SBUF 7 SBUF 6 SBUF 5 SBUF 4 SBUF 3 SBUF 2 SBUF 1 SBUF 0 E E FAC GAN1 GAN2 GAN3 AC DC CHO CANAL 0 gt 1 1 gt 2 0 gt 3 E PL gt 4 Es El Canal 1 siempre esta habilitado CODIFICACION
143. rocedentes de la clase RS232 char pcMensaje 100 wsprintf pcMensaje Error de CRS232 Sd d wParam lParam MessageBox pcMensaje AfxGetAppName MB OK MB_ICONSTOP return OL void CScopeView ScopeDetectarTrama STrama pTrama BYTE byteValor Detecta la trama de inicio o final if byteValor pTrama gt bytePrimero pTrama gt bBytel if pTrama gt bBytel 1 vez pTrama gt bBytel TRUE else 27 37 o 47 vez if byteValor pTrama gt byteSegundo pTrama gt bByte2 if pTrama gt bByte2 1 vez pTrama gt bByte2 TRUE else 2 o 3 vez if byteValor pTrama gt byteTercero pTrama gt bByte3 if pTrama gt bByte3 1 vez pTrama gt bByte3 TRUE else 2 vez if byteValor pTrama gt byteCuarto pTrama gt bByte4 TRUE Trama inicio o final detectada else pTrama gt bBytel FALSE pTrama gt bByte2 FALSE pTrama gt bByte3 FALSE else 1 pTrama gt bBytel FALSE pTrama gt bByte2 FALSE else pTrama gt bBytel FALSE AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA ATTA AAA AAA AAA AAA AAA Funciones para el registro de Windows void CScopeView ScopeAbrirFicheroIni CScopeApp pApp CScopeApp AfxGetApp m_comRs232 nPuerto pApp gt GetProfileInt s_ profileHeadingCom 7 s profileCom 0 Coml valor por defecto si no encuentra el otro m_comRs232 nBaudios pApp gt GetProfilelInt s p
144. rofileHeadingCom s profileBaudios 3 9600baudios m_comRs232 nParidad 0 Sin paridad m_comRs232 nBitsCar 4 8Bits Byte m_comRs232 nBitsParada 0 lbit m_comRs232 nControlFlujo O Sin control de flujo void CScopeView ScopeGuardarFicheroIni CScopeApp pApp CScopeApp AfxGetApp pApp gt WriteProfilelnt s profileHeadingCom s profileCom m_comRs232 nPuerto pApp gt WriteProfilelnt s profileHeadingCom s profileBaudios m_comRs232 nBaudios 6 2 6 CLASE CSCOPEDOC scopeDoc h interface of the CScopeDoc class AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA if defined AFX SCOPEDOC_H_DA985EE4 C77B_11D3_BB39 ACF5B442421C INCLUDED define AFX SCOPEDOC H DA985EE4 C77B_11D3_BB39 ACF5B442421C_ INCLUDED if MSC VER gt 1000 pragma once endif _MSC_VER gt 1000 class CScopeDoc public CDocument Variables que almacenan los datos recibidos de la tarjeta de adquisici n de datos public double m pVin Para la vista En voltios 8KBy int m nVinPuntos N mero de puntos de m pVin CByteArray m arrayMuestras Almacena las muestras recibidas int m nArrayPuntos N mero de muestras private static double s dValueGanancia V div static double s dValueDivisor ms div public typedef struct Almacena el estado de un canal int nGanancia int nDivisor BOOL bACDCneg BOOL bEnable SCanalDoc SCanalDoc m_pCan
145. rol DWORD fAbortOnError 1 abort reads writes on error DWORD fDummy2 17 reserved WORD wReserved not currently used WORD XonLim transmit XON threshold WORD XoffLim transmit XOFF threshold BYTE ByteSize number of bits byte 4 8 BYTE Parity 0 4 no odd even mark space BYTE StopBits LAO 12S de LD 2 char XonChar Tx and Rx XON character char XoffChar Tx and Rx XOFF character char ErrorChar error replacement character char EofChar end of input character char EvtChar received event character WORD wReservedl reserved do not use DCB BaudRate Specifies the baud rate at which the communications device operates This member can be an actual baud rate value or one of the following baud rate indexes CBR_110 CBR 300 CBR 600 CBR 1200 CBR 2400 CBR 4800 CBR 9600 CBR 14400 CBR 19200 CBR 38400 CBR 56000 CBR 57600 CBR 115200 CBR 128000 CBR 256000 Parity Specifies the parity scheme to be used This member can be one of the following values Value Meaning EVENPARITY Even MARKPARITY Mark NOPARITY No parity ODDPARITY Odd SPACEPARITY Space StopBits Specifies the number of stop bits to be used This member can be one of the following values Value Meaning ONESTOPBIT 1 stop bit ONESSTOPBITS 1 5 stop bits TWOSTOPBITS 2 stop bits yA void CRS232 ConfigurarPort int Port int Baudis int BitsCar int BitsParada i
146. rse materiales que no hayan sido aceptados por el director T cnico 5 1 4 EJECUCION DEL PROYECTO Comienzo El contratista dar comienzo al proyecto en el plazo que figure en el contrato establecido con la Propiedad o en su defecto a los quince d as de la adjudicaci n definitiva de la obra El contratista est obligado a notificar por escrito al T cnico director la fecha de comienzo de los trabajos Plazo de ejecuci n La obra se ejecutar en el plazo que se estipule en el contrato suscrito con la Propiedad o en su defecto en el que figure en las condiciones de este pliego Cuando el ritmo de trabajo establecido por el contratista no sea el normal o bien a petici n de una de las partes se podr convenir una programaci n de inspecciones obligatorias de acuerdo con el plan de obra Libro de rdenes El contratista dispondr en la realizaci n de proyecto de un Libro de Ordenes en el que se escribir n las que el T cnico Director estime darle a trav s del encargado o persona responsable sin perjuicio de las que le d por oficio cuando lo crea necesario y que tendr la obligaci n de firmar el enterado 5 1 5 INTERPRETACION Y DESARROLLO El Director T cnico es la persona a quien le corresponde interpretar los documentos del proyecto a l se le tiene que someter cualquier duda aclaraci n o contradicci n que surja durante la ejecuci n de la obra siempre con la suficiente antelaci n en funci n de la importancia del as
147. rvalTimeout MAXDWORD COMMTIMEOUTS_1 ReadTotalTimeoutMultiplier 0 COMMTIMEOUTS 1 ReadTotalTimeoutConstant 0 COMMTIMEOUTS 1 WriteTotalTimeoutMultiplier 0 COMMTIMEOUTS 1 WriteTotalTimeoutConstant 0 SetCommTimeouts m_idDisCom amp COMMTIMEOUTS 1 Esta funci n establece los par metros time out para todas las operaciones de lectura y escritura en un dispositivo de comunicaciones espec fico BOOL SetCommTimeouts HANDLE hFile handle of communications device LPCOMMTIMEOUTS lpCommTimeouts address of communications time out structure e Indicador per al thread y funcions externes PortObert TRUE return TRUE BOOL CRS232 CarregarDCB CTS DCB dcb GetCommState m_idDisCom amp dcb Esta funci n llena en un bloque de control dispositivo una estructura DCB con el control actual para un dispositivo de comunicaciones concreto BOOL GetCommState HANDLE hFile handle of communications device LPDCB 1pDCB address of device control block structure dcb BaudRate m wTablaBaudios m_nBaudis dcb Parity m TablaParidad m_nParitat dcb ByteSize BYTE m_nBitsCar 4 dcb StopBits m TablaBitsParada m nBitsParada dcb fBinary TRUE dcb fParity TRUE dcb fErrorChar FALSE dcb EvtChar EVENT dcb EofChar EOT Control de flux switch m_nControlFlux case 0 Sense gt Sortides DTR RTS disable dcb fDsrSensitivity FALSE dcb fDtr
148. s ncrona para permitir el control manual Se configura el Timer 1 en modo de 8 bits con autorrecarga y disparado por software mediante el registro TMOD Este otorga la frecuencia de comunicaci n por el canal serie Se programa el control canal serie como una UART Universat Asynchronous Receiver and Transmiter de 8 bits con 1 bit de start 8 bits de datos y 1 bit de stop mediante el registro SCON Estableciendo el bit SMOD igual a 1 del registro PCON se consigue duplicar la frecuencia de comunicaci n Finalmente se cargan los registros TL1 y TH1 con el valor necesario para conseguir 9600 baudios y se dispara el Timer 1 para iniciar la comunicaci n 1 4 4 PRELUDIO AL MUESTREO Y ESCRITURA EN MEMORIA Pertenecen a este apartado las instrucciones previas al muestreo La secuencia seguida es la siguiente Se guarda en memoria la trama de inicio sta sirve para que el PC pueda reconocer el inicio de una transmisi n y est formada por la secuencia OxFB 0x04 OxFB y 0x04 Seguidamente se realiza una copia del Byte de Modo los Bytes de Control y los Bytes de Estado a la sub rea de memoria Scratch Pad desde la direcci n 30H hasta la 38H En dicho proceso se tiene la precauci n de inhabilitar la interrupci n serie para que no se actualice ning n Byte en el proceso de copia Inmediatamente despu s de la trama de inicio se guarda en memoria los BEST de los canales para que el PC pueda saber como han sido muestreados y as poder presenta
149. s nCanal Miro FAC if byteEstado amp 0x10 0001 0000 ff FRO 1 35 1 m_pCanalDoc nCanal nDivisor 1 Sin divisor else FAC 0 gt 0 012 m_pCanalDoc nCanal nDivisor 0 Con divisor byteEstado m_arrayMuestras nCanal Miro CANAL if byteEstado amp 0x20 0010 0000 m_pCanalDoc nCanal bEnable TRUE else m_pCanalDoc nCanal bEnable FALSE 6 2 3 CLASE CPERSISTENTFRAME Persist h ifndef INSIDE VISUAL CPP PERSISTENT FRAME define INSIDE VISUAL CPP PERSISTENT FRAME class CPersistentFrame public CFrameWnd recuerda d nde estaba en el rea de trabajo DECLARE DYNAMIC CPersistentFrame private static const CRect s rectDefault static const char s_profileHeading static const char s_profileRect static const char s profilelcon static const char s profileMax static const char s_profileTool static const char s profileStatus BOOL m_bFirstTime protected Crea s lo a partir de la serializaci n CPersistentFrame CPersistentFrame AFX_VIRTUAL CPersistentFrame public virtual void ActivateFrame int nCmdShow 1 protected AFX VIRTUAL AFX_MSG CPersistentFrame afx_msg void OnDestroy AFX_MSG DECLARE MESSAGE MAP y endif _INSIDE VISUAL CPP_PERSISTENT_FRAME Persist cpp Clase de marco persistente para aplicaciones SDI include stdafx h include persist h ifdef DEBUG
150. sformador entre la fuente y el puente de diodos para aislar entre s las dos tierras y obtener una tensi n moderada en Vo Se ha a adido un condensador en paralelo con el resistor de carga para realizar el filtrado de la tensi n del rectificador En la siguiente ilustraci n se representa esta situaci n Vm x TE Vpromedio Vm n Ilustraci n 2 10 forma de onda real del filtrado El condensador se carga al valor de tensi n m s alto Vmax cuando la entrada alcanza su m ximo valor positivo o negativo Cuando la tensi n de entrada cae por debajo de este valor el condensador no se puede descargar a trav s de ninguno de los diodos Por tanto la descarga se lleva a cabo a trav s de R Esto produce un decaimiento exponencial dado por la ecuaci n e Vo Vmax e Imre Ecuaci n 2 2 Como se indica en la ilustraci n 2 10 es el tiempo disponible de descarga Se puede resolver C en t rminos de 7 y R tomando el logaritmo natural de ambos lados de la ecuaci n 1x x nf ne 2 Ecuaci n 2 3 Vo R C Esta f rmula es dif cil de utilizar en el dise o del filtro ya que T depende de la constante de tiempo R C y por tanto de la inc gnita C Se puede aproximar el valor del filtro capacitor necesario para una carga particular utilizando una aproximaci n de l nea recta como se muestra en la siguiente figura La pendiente inicial de la exponencial en la ecuaci n 2 2 es Vmax m RO Vo Vm x FT SS
151. sg void OnLimpiarout afx_msg afx_msg AFX void void MSG OnEnablein OnEnableout DECLARE MESSAGE MAP y AFX_INSERT_LOCATION Microsoft Developer Studio will insert additional declarations immediately before the previous line endif defined AFX_ACTUARDLG H DA985EF1_C77B_11D3_BB39 ACF5B442421C INCLUDED ActuarDlg cpp implementation file include stdafx h include scope h include ActuarDlg h ifdef _DEBUG define new DEBUG_NEW undef THIS FILE static char THIS FILE endif FILE AAA AAA AAA AAA AAA AAA AAA AAA AAA CActuarDlg dialog CActuarDlg CActuarDlg CWnd pParent NULL CDialog CActuarDlg IDD pParent AFX_DATA_INIT CActuarDlg m nCanal 1 m_nDivisor 1 m_nGanancia 1 m_nDCAC 1 m_strEditRX T m_strEditTX T m_nEnable FALSE m_bConTramas FALSE m_bEnableln FALSE m_bEnable0ut FALSE m_bSimula FALSE AFX_DATA_INIT m_pView NULL CActuarDlg CActuarDlg CView pView m pView pView m_nNumBytesTX 1024 m pCadenaTX new BYTE m_nNumBytesTX m pEstadoCH new BYTE 4 m_pEstadoCH 0 0x00 Estado de reset de los canales m_pEstadoCH 1 0x00 m_pEstadoCH 2 0x00 m_pEstadoCH 3 0x00 m pEnableCH new BOOL 4 m_pEnableCH 0 FALSE Canales inhabilitados m_pEnableCH 1 FALSE m_pEnableCH 2 FALSE m_pEnableCH 3 FALSE BOOL CActuarDlg Create
152. si n private void MiApply Realiza una transmisi n void ScopeCodificarTramaTX int nCanal BOOL m pTXCambio Cambios en el di logo int m_nEstadoAnteriorCanales int m_nTimer Identificador del timer static BYTE s_byteMascara Para codificar V div static BYTE s_byteCanal Para codificar el canal Para actualizar la vista despu s de OpenDocument public void OnApplyPublic Dialog Data AFX_DATA CControlDlg enum IDD IDD CONTROL DLG int m_nCanales int m_nAcDcCl int m_nAcDcC2 int m_nAcDcC3 int m_nAcDcC4 BOOL m_bInteractivo BOOL m_bControlManual AFX_DATA Overrides ClassWizard generated virtual function overrides AFX_VIRTUAL CControlDlg protected virtual void DoDataExchange CDataExchange pDX DDX DDV support AFX_VIRTUAL Implementation protected Generated AFX_MSG afx_msg afx_msg afx_msg afx_msg virtual virtual afx_msg afx_msg virtual afx_msg afx_msg afx_msg afx_msg afx_msg afx_msg afx_msg afx_msg afx_msg afx_msg afx_msg afx_msg AFX void void void void void void void void BOOL void void void void void void void void void void void void MSG message map functions CControlDlg OnApply OnCanal1 OnCanal OnCanall 2_ OnCancel OnOK OnHScroll UINT nSBCode OnVScroll UINT nSBCode OnInitDialog OnScopeDisparo OnScopelnteractivo OnTimer
153. siones m ximas de los condensadores se han sobredimensionado al doble de la tensi n m xima te rica La tensi n de alimentaci n de los rel s no se otorga de la salida del regulador sino de se entrada Se ha optado por esta opci n para no sobrecargar el regulador y se aprovecha de esta manera la tolerancia de los rel s al rizado de la alimentaci n Para determinar la resistencia R se ha seguido el siguiente procedimiento _ 5 0 6 212 107 Los valore C y Cig son los recomendados por el fabricante del CL sible ts Ly trafo 366 6Q valor comercial R 3600 2 1 3 2 2 Fuente de tensi n de 6 y 6 voltios Se realizar un proceso de dise o hom logo al anterior con la salvedad de que el condensador de filtrado obtenido ser de un valor mitad a los condensadores C y Cp V ase la ilustraci n 2 14 LM324N 50 mA 2 unidades 100 mA 1N751 CORRIENTE TOTAL 351 5 mA Cuadro 2 3 corriente digital Los valores necesarios para el c lculo del condensador del filtro son V 2 6 12V Vann V 2 4 12 8 20V Y 28V Imax AV Vega Vian 28 20 8V Imax Toma 352mMA 0 352A Omax f 100Hz Entonces sustituyendo en la ecuaci n 2 5 se obtiene SP Vo 5 28 12 C AV 2 5 Um 8 2 100 20 2 Omax Ci C 2 C 560uF valor comercial C Cp 680uF 280uF 220Vac 10 0 10Vac FUSE2 B40 C1500 1000 6800284 2200n 280 Tez Ten L7906CV u13 Ilustraci n 2 14 fuent
154. ssseseessssesresstsetsresetsessteresststesreserstsseesessreressesets 58 2 2 1 3 Lectura de memoria y tramsmisiOn csccccceseesseeseeseeseceeeeeeeceseenseenseeeaecaecaeceeeseeenes 62 DD WAS a GT E E E E E AE TEA E EAT 63 2 22 PERIODOS DE MUESTREO noieira esna aiaiai AE Aaa AARIN E TATAAS 70 2 2 2 1 Sin multiplexaci n s lo Canal 1 oo ce cececsescecseeeseeeseeeeceeeeeeeceseeeseenseenseceaeenaeseeeneeenes 70 2 2 2 2 Multiplexaci n del Canal 1 y Canal 2 0 00 ceccccecsseeseesceeeceeeceseeeeceecseenseenseenseenaeenaes 70 2 2 2 3 Multiplexacion del Canal 1 Canal 2 Canal 3 y Canal 4 ocononoicninnncnocnncconnnncccnncnnnonos 70 4 Nn an 2 2 3 TABLA DE VELOCIDADES DE COMUNICACI N cscsssssssssssssessesscsessssnssssssnsseeseeess 70 2 2 4 TRAMA DE COMUNICACI N 0d tai dt 72 2 3 SOFTWARE DE ALTO NIVEL eecccecceesesseeseeseeseeseesecseesecsseeecaecaessecsecsecseeeessaeesesaeesessesneenees 73 2 3 1 DIAGRAMAS DE FLUJO ccc ccceccccsesecssessesseesceseesensecsecsecseeessaeesesaecaeesecseeesesseseeaeeneeaes 74 23 11 Recepci n de datos iii ii 74 23 12 AA DE e A i E E A doses 75 2 3 1 3 Reconstrucci n de la se al de entrada ce cecceeseesseesseeeceeeceesceseenseceeceseceseesaeceeeneeenes 76 23 14 Dibujar ventana Vista iinsert ien i iie iii i i DO 77 2315 Dib jarun Canal dde E 78 2 3 1 6 Controles del OSCILOSCOPIO sssrinin iini a on nrnnn E rra i 79 2 3 1 7 Codificaci n de Ordenes emi added 80 PLANOS iii dead 81 PRESUPU
155. t Con multiplexaci n Sin control manual muest Con control manual Si BMOD 2 1 entonces BMOD 3 BMOD 2 CIO ljmp SERVCOM org 33H 0 gt Espera activa Canales 1 2 reo infinito 1 gt Inicia muestreo disparo 3 y 4 mov A FOH 71111 0000 B FO H Ser para el BC FAC4 FAC3 FAC3 FAC1 1 gt Sin factor GAN3 0 GAN2 0 GAN1 O gt Ganancia de 0 5 AC DC 0 gt Modo DC mov DPTR 0000H Direcci n del BC movx DPTR A Actto sobre la electr nica anal gica mov 20H 01H 20H guarda el modo del osciloscopio BMOD Sin multiplexaci n muestreo sin control manual mov 21H A 21H guarda el control del Canal 1 BCON1 mov 22H A 22H guarda el control del Canal 2 BCON2 mov 23H A 23H guarda el control del Canal 3 BCON3 mov 24H A 24H guarda el control del Canal 4 BCON4 mov 25H 30H 70011 0000 B 30 H 25H guarda el estado del Canal 1 BEST1 mov 26H 50H 70101 0000 B 50 H 26H guarda el estado del Canal 2 BEST2 mov 27H 90H 71001 0000 B 90 H 27H guarda el estado del Canal 3 BEST3 mov 28H D0H 71101 0000 B DO H 28H guarda el estado del Canal 4 BEST4 mov 29H 00H Mascara de 1s Para decodificar la recepci n mov 2AH 00H Mascara de Os Para decodificar la recepci n setb INT A D listo para ser disparado ss Programaci n del Timer e Interrupciones o Si reset gt IE Interrupt Eneble Register 0XX0 0000 b
156. t GetPos SetDlgItemText IDC_STATIC TRACK CANAL1 strTextCanall CString strTextCanal2 CSliderCtrl pSlideCanal2 CSliderCtrl1 GetDlgItem DC_TRACKBAR_CANAL2 pSlideCanal2 gt SetRange 0 13 pSlideCanal2 gt SetPos m_nTrackbarCanal2 strTextCanal2 Format 4 3f s dValueCanal pSlideCanal2 gt GetPos SetDlgItemText IDC_STATIC_ TRACK _CANAL2 strTextCanal2 CString strTextCanal3 CSliderCtr1 pSlideCanal3 CSliderCtr1 GetDlgItem IDC_TRACKBAR_CANAL3 pSlideCanal3 gt SetRange 0 13 pSlideCanal3 gt SetPos m_nTrackbarCanal3 strTextCanal3 Format 34 3f s dValueCanal pSlideCanal3 gt GetPos SetDlgItemText IDC_STATIC_ TRACK CANAL3 strTextCanal3 CString strTextCanal4 CSliderCtr1 pSlideCanal4 CSliderCtr1 GetDlgItem IDC_TRACKBAR_CANAL4 pSlideCanal4 gt SetRange 0 13 pSlideCanal4 gt SetPos m_nTrackbarCanal4 strTextCanal4 Format 4 3f s dValueCanal pSlideCanal4 gt GetPos SetDlgItemText IDC_STATIC_TRACK CANAL4 strTextCanal4 CString strTextTimeDiv CSliderCtrl1l pSlideTimeDiv CSliderCtrl GetDlgItem IDC_TRACKBAR_TIMEDIV pSlideTimeDiv gt SetRange 0 6 pSlideTimeDiv gt SetPos m_nTrackbarTimeDiv strTextTimeDiv Format 33 2f s dValueTimeDiv pSlideTimeDiv gt GetPos SetDlgItemText IDC_ STATIC TRACK TIMEDIV strTextTimeDiv return CDialog OnInitDialog void CControlDlg OnCancel if m_pView NULL
157. t Ready RLSD Receive Line Signal Detect EOF End Of File offset typedef struct COMSTAT cst DWORD fCtsHold 1 Tx waiting for CTS signal DWORD fDsrHold 1 Tx waiting for DSR signal DWORD fRlsdHold 1 Tx waiting for RLSD signal DWORD fXoffHold 1 Tx waiting XOFF char rec d DWORD fXoffSent 1 Tx waiting XOFF char sent DWORD fEof 1 BOF character sent DWORD fTxim 1 character waiting for Tx DWORD fReserved 25 reserved DWORD cbInQue bytes in input buffer DWORD cbOutQue bytes in output buffer COMSTAT LPCOMSTAT struct COMMTIMEOUTS COMMTIMEOUTS 1 La estructura COMMTIMEOUTS es usada con las funciones SetCommTimeouts y GetCommTimeouts para establecer y preguntar los par metros time out para una comunicaci n con dispositivo Los par metros determinan el comportamiento de las operaciones ReadFile WriteFile ReadFileEx y WriteFileEx en el dispositivo typedef struct _COMMTIMEOUTS ctmo DWORD ReadIntervalTimeout Especifica el maximo tiempo en milisegundos permitidos para transmitir entre la llegada de dos car cteres en la linea de comunicaci n DWORD ReadTotalTimeoutMultiplier Especifica el multiplicador en milisegundos usado para calcular el periodo time out para las operaciones de lectura DWORD ReadTotalTimeoutConstant Idem pero constante Los dos anteriores especifican que la operaci n de lectura vuelve inmediatam
158. tation public virtual CMainFrame ifdef DEBUG virtual void AssertValid const virtual void Dump CDumpContextg dc const tendif protected control bar embedded members CStatusBar m _wndStatusBar CToolBar m_wndToolBar Generated message map functions protected AFX_MSG CMainFrame afx msg int OnCreate LPCREATESTRUCT lpCreateStruct y AFX_MSG DECLARE MESSAGE MAP y DAA AAA AAA AAA AAA AAA AAA AAA ALAA AAA AAA AAA AAA AAA AA AAA AAA A AFX_INSERT_LOCATION NOTE the ClassWizard will add and remove member functions here DO NOT EDIT what you see in these blocks of generated code Microsoft Developer Studio will insert additional declarations immediately before the previous line endif defined AFX MAINFRM H DA985EE2_C77B_11D3_BB39 ACF5B442421C_ INCLUDED MainFrm cpp implementation of the CMainFrame class include stdafx h include scope h include MainFrm h ifdef DEBUG define new DEBUG NEW undef THIS FILE static char THIS FILE _ FILE endif AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA CMainFrame IMPLEMENT_DYNCREATE CMainFrame CPersistentFrame BEGIN MESSAGE MAP CMainFrame CPersistentFrame AFX_MSG_ MAP CMainFrame NOTE the ClassWizard will add and remove mapping macros here DO NOT EDIT what you see in these blocks of generated code ON WM CREATE AFX_MSG
159. to security attributes DWORD dwCreationDistribution how to create OPEN_EXISTING Opens the file The function fails if the file does not exist DWORD dwFlagsAndAttributes file attributes FILE FLAG OVERLAPPED Informa al sistema para inicializar el objeto asi esa operaci n que toma una significante cantidad de tiempo para procesar el retorno ERROR IO PENDING Cuando la operaci n esta finalizada el evento especificado es establecido a estado se alizado Cuando especificas FILE FLAG OVERLAPPED las funciones ReadFile y WriteFile deben especificar una estructura OVERLAPPED Que es cuando FILE FLAG OVERLAPPED est especificado una aplicaci n debe caracterizar lectura y escritura solapada overlapped Esta bandera tambi n habilita m s de una operaci n para ser caracterizada simult neamente con un handle una operaci n de lectura y escritura simltanea por ejemplo HANDLE hTemplateFile handle to file with attributes to copy Si es detecta error a l obrir if m_idDisCom INVALID HANDLE VALUE return FALSE Buffers de Win95 a SetupComm m_idDisCom 1024 bufIn 1024 bufOut La funci n SetupComm inicializa los par metros de comunicaciones para la comunicaci n espec fica de un dispositivo if a FALSE return FALSE Carregar par metres al DCB if CarregarDCB return FALSE Establir Timeouts COMMTIMEOUTS 1 ReadInte
160. ts void EspiaHab void pEspTx int BYTE adreca aten esp Tx void pEspRx int BYTE adreca aten esp Rx void EspiaDeshab Dades BOOL PortObert HWND DestiMsg handler Window per enviar missat WM private LE ROE RTE RTE RTE TR TC TR RCE RL TERT AAA A Funcions BOOL CarregarDCB void pRutinaAtencio int CRS232 Avis de recepcio RX void pEspAtenTX int BYTE Avis espia d emissio TX void pEspAtenRX int BYTE Avis espia de recepcio RX Dades CRS232 pAquestObjecte punter a aquest objecte HANDLE m_idDisCom Handler del dispositiu COMx UINT m_wTablaBaudios 6 Taula de baudis BYTE m_TablaParidad 4 Taula de paritat BYTE m_TablaBitsParada 2 Taula de bits de parada Int m_nPort Config int m_nBaudis Config int m_nBitsCar Config int m_nBitsParada Config int m_nParitat Config int m_nControlFlux Config int LongBufRX Config Pasado al constructor int LongBufTX Config Pasado al constructor BYTE pBufRX punter del buffer de recepci BYTE pBufTX punter del buffer de transmissi int NumBytesBufRX Numero de bytes leidos int NumBytesBufTX Numero de bytes enviados struct COMSTAT COMSTAT 1 COMSTAT es una estructura de Win32 que contiene informaci n sobre una comunicaci n de dispositivo Esta estructura es llenada por la funci n ClearCommError Algunas siglas CTS Clear To Send DSR Data Se
161. uardados m_nIndiceRX 1 By por empezar en 0 4 By de estado X By de datos 4 By trama final By recibidos reales 4 By trama inicial m_nIndiceRX 1 By pDoc gt m_nVinPuntos m_nIndiceRX 7 Se habilita bot n guardar GetDocument gt SetModifiedFlag Se crea el nuevo vector que usar la vista pDoc gt ScopeCrearVin InvalidateRect m_rectClientHimetric Actualiza la vista m_nIndiceRX O else Cargar buffer Se detect la trama de inicio if m_bOnActuarDlg if m_pActuarDlg gt m_bEnableIn _itoa byteValor pcRX 16 if m_nIndiceRX 0 m_pActuarDlg gt m_strEditRX pcRX else m_pActuarDlg gt m_strEditRX m pActuarDlg gt m_strEditRX pcRX pDoc gt m_arrayMuestras m_nIndiceRX byteValor Se actualiza el documento m_nIndiceRX Se est detectando la trama de inicio else ScopeDetectarTrama amp m_tramaInicio byteValor m_nIndiceRX 0 else Sin detectar tramas S lo se aprecia el el di logo Control avanzado if m_bOnActuarDlg if m_pActuarDlg gt m_bEnableIn _itoa byteValor pcRX 16 m pActuarDlg gt m_strEditRX pcRX m_pActuarDlg gt m_strEditRX if m_bOnActuarDlg if m_pActuarDlg gt m_bEnableIn m_pActuarDlg gt UpdateData FALSE return OL LRESULT CScopeView OnScopeErrorAccesPort WPARAM wParam LPARAM lParam Mensaje recibido por la existencia de errores p
162. ue respecta a la ganancia se ha optado por utilizar una configuraci n de amplificador inversor como se muestra seguidamente 6 C37 Do 2V x o a MM TA uo exeaw ROS ad Ros 15K Law sae Roa 33K 1 4W sn avoa 68K 1 4W a Ros 150K 14W DR ns 100n12 330K 14W ae ne ra RYO C38 6s0K aw R14 A WOM bo 6V py RIS U0SB i Z R23 OKI 14W ey UE 10K 11207 Ilustraci n 1 8 amplificador inversor de ganancia variable La resistencia de entrada es constante y la resistencia de realimentaci n variable sta ltima esta formada por una resistencia fija en serie con un potenci metro multivuelta para establecer la relaci n de ganancia en el valor deseado Se puede observar que existe la posibilidad de seleccionar entre ocho posibles resistencias equivalentes de realimentaci n lo que otorga ocho posibles ganancias stas son seleccionadas mediante un multiplexor anal gico controlado por las l neas GAN1 GAN2 y GAN3 provenientes del lach mapeado en memoria Se ha implementado una resistencia entre el terminal no inversor del amplificador y masa Su funci n es la de compensar las ca das internas provocadas por las corrientes de offset w VDD E ES Z wy o w DO L wt e O ao WS VEE 1 3 2 3 Amplificador inversor sumador banda pasante o paso bajo 10K 1 4W R04 PNV ROS 10K 1 4W Z Ww o TF DO L T e de 3 R16 100n 12 3K3 aw Ri DZ02 C36 6V c4
163. unto El contratista se hace responsable de cualquier error de la ejecuci n motivado por la no consulta y consecuentemente deber rehacer a su costa los trabajos que correspondan a la correcta interpretaci n del Proyecto El contratista ha de hacer todo los necesario para la buena ejecuci n de la obra a n cuando no se halla expresado en el proyecto El contratista ha de notificar por escrito o personalmente al director de obra las fechas en que quedar n preparadas para inspecci n cada una de las partes del proyecto o para aquellas que total o parcialmente deban posteriormente quedar ocultas 5 1 6 TRABAJOS COMPLEMENTARIOS El contratista ha de realizar todas los trabajos complementarios necesarios para ejecutar el proyecto tal y como estaba previsto aunque en l no figuren expl citamente dichos trabajos complementarios Todo ello sin variaci n del importe contratado 5 1 7 MODIFICACIONES El contratista est obligado a realizar las variaciones ampliaciones reducciones o modificaciones del proyecto siempre que estas no supongan una variaci n sobre el global proyectado superior al 25 Si el contratista desea realizar alguna modificaci n deber darla a conocer por escrito al T cnico Director si se considera razonable y se acepta ser confirmada por escrito as como las nuevas condiciones econ micas que mutuamente se acuerden Si lo anterior no se da como se especifica no se aceptar modificaci n alguna La valora
164. visor de tension y la resistencia limitadora R En la ilustraci n 2 3 se presenta el esquema el ctrico Ilustraci n 2 3 potencia de entrada Si se plantea la malla exterior Vi Vag n Vr Despejando J V V 1 Ray R V Reg L V Ry Ll gt h 18 La malla interior derecha V V Rs FV aos Expres ndolo en funci n de 7 V I R V R L R 1 S 1 39 Planteando la ecuaci n del nodo L 1 Sustituyendo e J en la ecuaci n anterior y expres ndolo en funci n de Y V I Ry ue V I Roa Ris Ro Ry Y V Ri La Rig V Ra Ris L Rs Ry L gt Rs Y V Ris V Ryu Rig Ryg Ris R o gt 3 Sustituyendo valores 390 10 400 6 6 6 6 10 12 10 10 390 10 106 390 107 Pros 640114 12KQ 5mW gt Vw Entonces _ 400 6 6 6 4 10 390 10 10 Se ha insertado un seguidor de tensi n entre V y V out L 64014 gt I 1 6434A Pps 64344 IMO 04W gt VO W para evitar efectos de carga desde la se al de entrada al siguiente bloque que est formado por un multiplexor anal gico seguido de un amplificador inversor El multiplexor es el encargado de ir seleccionando alternadamente entre los cuatro canales disponibles Los canales se seleccionan mediante los puertos CAN1 y CAN2 que son directamente los pines 14 TO y 15 T1 del 87C51 2 1 2 2 Amplificador inversor de ganancia variable
165. y 2 Cargar BCON con BCON1 Disparo del A D Leer conversion Reset del A D Disparo del A D Guardar en memoria externa la conversi n CA1 de TO Cargar BCON con BCON2 Cargar BCON con BCON1 Leer conversi n Reset del A D Ilustraci n 2 18 multiplexacion de los Canales 1 y 2 Inicio Canales 1 2 3 y 4 Cargar BCON con BCONI1 Disparo del A D Leer conversion Reset del A D Disparo del A D Guardar en memoria externa la conversi n TL 1 T1 0 Cargar BCON con BCON3 Cargar BCON con BCON1 Cargar BCON con BCON2 Cargar BCON con BCON4 CA1 de TO Leer conversi n Reset del A D S Fin Canal 1 2 3 y 4 Ilustraci n 2 19 multiplexaci n de los Canales 1 2 3 y 4 2 2 1 3 Lectura de memoria y transmisi n Inicio transmisi n Leer un dato de memoria externa y enviarlo S Inicio transmisi n Ilustraci n 2 20 lectura de memoria y transmisi n 2 2 1 4 Recepci n INTERRUPCI N SERIE Inicio canal serie Salvar contexto Decodificar parte baja de SBUF Crear m scaras A S Modificar BMOD Modo manual No Modificar BEST1 BCON1 BCON2 BCON3 y BCON4 Modificar BMOD BEST2 BCONI BCON2 BCON3 y BCON4 No implementado Modificar BEST3 BCON1 BCON2 BCON3 y BCON4 Modificar BMOD BEST4 BCONI BCON2 BCON3 y BCON4 Restaurar contexto Fin canal serie Ilustraci n 2 21 recepci n Inicio crear m scaras MASCO 0x00
Download Pdf Manuals
Related Search
Related Contents
labsolutions JVC KD-SH99R User's Manual Fujitsu ESPRIMO E520 E85+ EXCLUSIVAMENTE PARA PESSOAL DE SERVIÇO ASUS PU301LA User's Manual Manual de instrucciones Instruction manual Manuel VGA EXTENDER Blinky Box™ TG2122 Optically Isolated Impulse como usar este documento Copyright © All rights reserved.
Failed to retrieve file