# HG changeset patch # User martin # Date 2013-12-10 14:14:19 # Node ID 58053312af79e6520207eab6dd41e1d77a50e1b2 # Parent dda39c5f532e87df06e02fe81888572f354a4a63 upgrade CLKsetting + Driver C diff --git a/LPP_drivers/exemples/BenchDAC_CAL/main.c b/LPP_drivers/exemples/BenchDAC_CAL/main.c --- a/LPP_drivers/exemples/BenchDAC_CAL/main.c +++ b/LPP_drivers/exemples/BenchDAC_CAL/main.c @@ -1,25 +1,32 @@ #include #include "lpp_apb_functions.h" #include "apb_dac_Driver.h" +#include "apb_fifo_Driver.h" int main() { printf("\nDebut Main\n\n"); - int i; - int tablo CAL_SignalData + +// int Tabl [256] = {0x9800,0x1B06,0x1C64,0x1B6A,0x18C8,0x1625,0x1529,0x1685,0x1988,0x1C8A,0x1DE3,0x1CE3,0x1A39,0x178E,0x168A,0x17DC,0x1AD4,0x1DCB,0x1F18,0x1E0B,0x1B53,0x189A,0x1787,0x18CA,0x1BB2,0x1E98,0x1FD4,0x1EB5,0x1BEC,0x1921,0x17FB,0x192B,0x1C00,0x1ED3,0x1FFB,0x1EC9,0x1BEC,0x190D,0x17D4,0x18F0,0x1BB2,0x1E72,0x1F87,0x1E42,0x1B53,0x1862,0x1718,0x1823,0x1AD4,0x1D84,0x1E8A,0x1D36,0x1A39,0x173A,0x15E3,0x16E2,0x1988,0x1C2D,0x1D29,0x1BCD,0x18C8,0x15C2,0x1464,0x155E,0x1800,0x1AA2,0x1B9C,0x1A3E,0x1738,0x1433,0x12D7,0x13D3,0x1678,0x191E,0x1A1D,0x18C6,0x15C7,0x12CA,0x1176,0x127C,0x152C,0x17DD,0x18E8,0x179E,0x14AD,0x11BE,0x1079,0x118E,0x144E,0x1710,0x182C,0x16F3,0x1414,0x1137,0x1005,0x112D,0x1400,0x16D5,0x1805,0x16DF,0x1414,0x114B,0x102C,0x1168,0x144E,0x1736,0x1879,0x1766,0x14AD,0x11F5,0x10E8,0x1235,0x152C,0x1824,0x1976,0x1872,0x15C7,0x131D,0x121D,0x1376,0x1678,0x197B,0x1AD7,0x19DB,0x1738,0x1496,0x139C,0x14FA,0x1800,0x1B06,0x1C64,0x1B6A,0x18C8,0x1625,0x1529,0x1685,0x1988,0x1C8A,0x1DE3,0x1CE3,0x1A39,0x178E,0x168A,0x17DC,0x1AD4,0x1DCB,0x1F18,0x1E0B,0x1B53,0x189A,0x1787,0x18CA,0x1BB2,0x1E98,0x1FD4,0x1EB5,0x1BEC,0x1921,0x17FB,0x192B,0x1C00,0x1ED3,0x1FFB,0x1EC9,0x1BEC,0x190D,0x17D4,0x18F0,0x1BB2,0x1E72,0x1F87,0x1E42,0x1B53,0x1862,0x1718,0x1823,0x1AD4,0x1D84,0x1E8A,0x1D36,0x1A39,0x173A,0x15E3,0x16E2,0x1988,0x1C2D,0x1D29,0x1BCD,0x18C8,0x15C2,0x1464,0x155E,0x1800,0x1AA2,0x1B9C,0x1A3E,0x1738,0x1433,0x12D7,0x13D3,0x1678,0x191E,0x1A1D,0x18C6,0x15C7,0x12CA,0x1176,0x127C,0x152C,0x17DD,0x18E8,0x179E,0x14AD,0x11BE,0x1079,0x118E,0x144E,0x1710,0x182C,0x16F3,0x1414,0x1137,0x1005,0x112D,0x1400,0x16D5,0x1805,0x16DF,0x1414,0x114B,0x102C,0x1168,0x144E,0x1736,0x1879,0x1766,0x14AD,0x11F5,0x10E8,0x1235,0x152C,0x1824,0x1976,0x1872,0x15C7,0x131D,0x121D,0x1376,0x1678,0x197B,0x1AD7,0x19DB,0x1738,0x1496,0x139C,0x14FA}; +//(10Khz + 625hz) + + int Tabl [256] = {0x9800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258,0x1800,0x1DA8,0x1FFF,0x1DA8,0x1800,0x1258,0x1000,0x1258}; +//(10Khz) + +// int Tabl [256] = {0x9800,0x1864,0x18C9,0x192D,0x1990,0x19F2,0x1A53,0x1AB2,0x1B10,0x1B6C,0x1BC5,0x1C1D,0x1C72,0x1CC4,0x1D13,0x1D5F,0x1DA8,0x1DED,0x1E2F,0x1E6D,0x1EA7,0x1EDD,0x1F0E,0x1F3B,0x1F64,0x1F88,0x1FA8,0x1FC3,0x1FD9,0x1FEA,0x1FF6,0x1FFE,0x1FFF,0x1FFE,0x1FF6,0x1FEA,0x1FD9,0x1FC3,0x1FA8,0x1F88,0x1F64,0x1F3B,0x1F0E,0x1EDD,0x1EA7,0x1E6D,0x1E2F,0x1DED,0x1DA8,0x1D5F,0x1D13,0x1CC4,0x1C72,0x1C1D,0x1BC5,0x1B6C,0x1B10,0x1AB2,0x1A53,0x19F2,0x1990,0x192D,0x18C9,0x1864,0x1800,0x179C,0x1737,0x16D3,0x1670,0x160E,0x15AD,0x154E,0x14F0,0x1494,0x143B,0x13E3,0x138E,0x133C,0x12ED,0x12A1,0x1258,0x1213,0x11D1,0x1193,0x1159,0x1123,0x10F2,0x10C5,0x109C,0x1078,0x1058,0x103D,0x1027,0x1016,0x100A,0x1002,0x1000,0x1002,0x100A,0x1016,0x1027,0x103D,0x1058,0x1078,0x109C,0x10C5,0x10F2,0x1123,0x1159,0x1193,0x11D1,0x1213,0x1258,0x12A1,0x12ED,0x133C,0x138E,0x13E3,0x143B,0x1494,0x14F0,0x154E,0x15AD,0x160E,0x1670,0x16D3,0x1737,0x179C,0x1800,0x1864,0x18C9,0x192D,0x1990,0x19F2,0x1A53,0x1AB2,0x1B10,0x1B6C,0x1BC5,0x1C1D,0x1C72,0x1CC4,0x1D13,0x1D5F,0x1DA8,0x1DED,0x1E2F,0x1E6D,0x1EA7,0x1EDD,0x1F0E,0x1F3B,0x1F64,0x1F88,0x1FA8,0x1FC3,0x1FD9,0x1FEA,0x1FF6,0x1FFE,0x1FFF,0x1FFE,0x1FF6,0x1FEA,0x1FD9,0x1FC3,0x1FA8,0x1F88,0x1F64,0x1F3B,0x1F0E,0x1EDD,0x1EA7,0x1E6D,0x1E2F,0x1DED,0x1DA8,0x1D5F,0x1D13,0x1CC4,0x1C72,0x1C1D,0x1BC5,0x1B6C,0x1B10,0x1AB2,0x1A53,0x19F2,0x1990,0x192D,0x18C9,0x1864,0x1800,0x179C,0x1737,0x16D3,0x1670,0x160E,0x15AD,0x154E,0x14F0,0x1494,0x143B,0x13E3,0x138E,0x133C,0x12ED,0x12A1,0x1258,0x1213,0x11D1,0x1193,0x1159,0x1123,0x10F2,0x10C5,0x109C,0x1078,0x1058,0x103D,0x1027,0x1016,0x100A,0x1002,0x1000,0x1002,0x100A,0x1016,0x1027,0x103D,0x1058,0x1078,0x109C,0x10C5,0x10F2,0x1123,0x1159,0x1193,0x11D1,0x1213,0x1258,0x12A1,0x12ED,0x133C,0x138E,0x13E3,0x143B,0x1494,0x14F0,0x154E,0x15AD,0x160E,0x1670,0x16D3,0x1737,0x179C}; +//(625hz) DAC_Device* dac0 = openDAC(0); + FIFO_Device* fifo0 = openFIFO(0); - printf("\nSTART\n\n"); + dac0->ClkConfigReg = 0; + + FillFifo(fifo0,0,Tabl,256); - while(1) - { - for (i = 0 ; i < 251 ; i++) - { - while(!((dac0->ConfigReg & DAC_ready) == DAC_ready)); - dac0->DataReg = tablo[i]; - while((dac0->ConfigReg & DAC_ready) == DAC_ready); - } - } + fifo0->FIFOreg[(2*0)+FIFO_Ctrl] = FIFO_ReUse; +// printf("%x\n",fifo0->FIFOreg[(2*0)+FIFO_Ctrl]); + + dac0->ConfigReg = DAC_enable; + return 0; } diff --git a/LPP_drivers/includes/apb_dac_Driver.h b/LPP_drivers/includes/apb_dac_Driver.h --- a/LPP_drivers/includes/apb_dac_Driver.h +++ b/LPP_drivers/includes/apb_dac_Driver.h @@ -19,40 +19,28 @@ -- Author : Martin Morlot -- Mail : martin.morlot@lpp.polytechnique.fr -----------------------------------------------------------------------------*/ -#ifndef APB_CNA_DRIVER_H -#define APB_CNA_DRIVER_H +#ifndef APB_DAC_DRIVER_H +#define APB_DAC_DRIVER_H -#define DAC_ready 3 #define DAC_enable 1 #define DAC_disable 0 -#define CAL_SignalData [251] = {0x9555,0x1800,0x19AA,0x1B15,0x1C0A,0x1C66,0x1C1F,0x1B44,0x19FC,0x187F,0x170F,0x15EA,0x1542,0x1537,0x15CE,0x16F2,0x187A,0x1A2B,0x1BC2,0x1D04,0x1DBF,0x1DDB,0x1D56,0x1C49,0x1AE3,0x195F,0x1800,0x1700,0x168D,0x16BA,0x1785,0x18D0,0x1A69,0x1C12,0x1D8A,0x1E98,0x1F13,\ - 0x1EEB,0x1E28,0x1CEC,0x1FFF,0x19E8,0x189F,0x17C8,0x1788,0x17EA,0x18E2,0x1A48,0x1BE7,0x1D7C,0x1ECA,0x1F9C,0x1FD2,0x1F64,0x1E66,0x1D00,0x1B6E,0x19EF,0x18C1,0x1817,0x180A,0x189D,0x19BA,0x1B33,0x1CCC,0x1E44,0x1F5F,0x1FEE,0x1FDC,0x1F2B,0x1DF6,0x1C6E,0x1AD1,0x1960,0x1855,0x17D9,0x1800,\ - 0x18C1,0x19FD,0x1B80,0x1D0A,0x1E5C,0x1F3D,0x1F87,0x1F2E,0x1E3E,0x1CDA,0x1B39,0x199C,0x1842,0x1760,0x1717,0x1771,0x185D,0x19B1,0x1B36,0x1CAA,0x1DCF,0x1E73,0x1E79,0x1DDD,0x1CB4,0x1B2B,0x197C,0x17EA,0x16B1,0x15FF,0x15EE,0x167C,0x178F,0x18F7,0x1A78,0x1BCF,0x1CC4,0x1D2A,0x1CED,0x1C14,\ - 0x1ABC,0x191A,0x176B,0x15F0,0x14E2,0x1467,0x1490,0x1552,0x1689,0x1800,0x1977,0x1AAE,0x1B70,0x1B99,0x1B1E,0x1A10,0x1895,0x16E6,0x1544,0x13EC,0x1313,0x12D6,0x133C,0x1431,0x1588,0x1709,0x1871,0x1984,0x1A12,0x1A01,0x194F,0x1816,0x1684,0x14D5,0x134C,0x1223,0x1187,0x118D,0x1231,0x1356,\ - 0x14CA,0x164F,0x17A3,0x188F,0x18E9,0x18A0,0x17BE,0x1664,0x14C7,0x1326,0x11C2,0x10D2,0x1079,0x10C3,0x11A4,0x12F6,0x1480,0x1603,0x173F,0x1800,0x1827,0x17AB,0x16A0,0x152F,0x1392,0x120A,0x10D5,0x1024,0x1012,0x10A1,0x11BC,0x1334,0x14CD,0x1646,0x1763,0x17F6,0x17E9,0x173F,0x1611,0x1492,\ - 0x1300,0x119A,0x109C,0x102E,0x1064,0x1136,0x1284,0x1419,0x15B8,0x171E,0x1816,0x1878,0x1838,0x1761,0x1618,0x1494,0x1314,0x11D8,0x1115,0x10ED,0x1168,0x1276,0x13EE,0x1597,0x1730,0x187B,0x1946,0x1973,0x1900,0x1800,0x16A1,0x151D,0x13B7,0x12AA,0x1225,0x1241,0x12FC,0x143E,0x15D5,0x1786,\ - 0x190E,0x1A32,0x1AC9,0x1ABE,0x1A16,0x18F1,0x1781,0x1604,0x14BC,0x13E1,0x139A,0x13F6,0x14EB,0x1656}; -//Sinus (10Khz + 625hz) - /*=================================================== T Y P E S D E F ====================================================*/ -/** Structure repr�sentant le registre du CNA */ -struct DAC_Driver +struct DAC_REG { - int configReg; /**< Registre de configuration: Flag Ready [1] ; Flag Enable [0] */ - int dataReg; /**< Registre de donn�e sur 16 bits */ + int ConfigReg; + int ClkConfigReg; }; -typedef volatile struct DAC_Driver DAC_Device; +typedef volatile struct DAC_REG DAC_Device; /*=================================================== F U N C T I O N S ====================================================*/ -/** Ouvre l'acc� au CNA */ DAC_Device* openDAC(int count); diff --git a/LPP_drivers/libsrc/DAC/apb_dac_Driver.c b/LPP_drivers/libsrc/DAC/apb_dac_Driver.c --- a/LPP_drivers/libsrc/DAC/apb_dac_Driver.c +++ b/LPP_drivers/libsrc/DAC/apb_dac_Driver.c @@ -1,49 +1,32 @@ -/*------------------------------------------------------------------------------ --- This file is a part of the LPP VHDL IP LIBRARY --- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS --- --- This program is free software; you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation; either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program; if not, write to the Free Software --- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -------------------------------------------------------------------------------- --- Author : Martin Morlot --- Mail : martin.morlot@lpp.polytechnique.fr ------------------------------------------------------------------------------*/ -#include "apb_dac_Driver.h" -#include "lpp_apb_functions.h" -#include - - -DAC_Device* openDAC(int count) -{ - DAC_Device* dac0; - dac0 = (DAC_Device*) apbgetdevice(LPP_CNA,VENDOR_LPP,count); - dac0->ConfigReg = DAC_enable; - return dac0; -} - -/*int DacConst() -{ - DAC_Device* dac3; - int Value = 0x1FFF; - dac3 = (DAC_Device*)0x80000800; - dac3->configReg = DAC_enable; - while(1) - { - printf("\nEntrer une valeur entre 4096 et 8191 : "); - scanf("%d",&Value); - dac3->dataReg = Value; - } - return 0; -} */ - +/*------------------------------------------------------------------------------ +-- This file is a part of the LPP VHDL IP LIBRARY +-- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program; if not, write to the Free Software +-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +------------------------------------------------------------------------------- +-- Author : Martin Morlot +-- Mail : martin.morlot@lpp.polytechnique.fr +-----------------------------------------------------------------------------*/ +#include "apb_dac_Driver.h" +#include "lpp_apb_functions.h" +#include + +DAC_Device* openDAC(int count) +{ + DAC_Device* dac0; + dac0 = (DAC_Device*) apbgetdevice(LPP_CNA,VENDOR_LPP,count); + dac0->ConfigReg = DAC_disable; + return dac0; +} diff --git a/LPP_drivers/libsrc/DAC/apb_dac_Driver.h b/LPP_drivers/libsrc/DAC/apb_dac_Driver.h --- a/LPP_drivers/libsrc/DAC/apb_dac_Driver.h +++ b/LPP_drivers/libsrc/DAC/apb_dac_Driver.h @@ -19,40 +19,28 @@ -- Author : Martin Morlot -- Mail : martin.morlot@lpp.polytechnique.fr -----------------------------------------------------------------------------*/ -#ifndef APB_CNA_DRIVER_H -#define APB_CNA_DRIVER_H +#ifndef APB_DAC_DRIVER_H +#define APB_DAC_DRIVER_H -#define DAC_ready 3 #define DAC_enable 1 #define DAC_disable 0 -#define CAL_SignalData [251] = {0x9555,0x1800,0x19AA,0x1B15,0x1C0A,0x1C66,0x1C1F,0x1B44,0x19FC,0x187F,0x170F,0x15EA,0x1542,0x1537,0x15CE,0x16F2,0x187A,0x1A2B,0x1BC2,0x1D04,0x1DBF,0x1DDB,0x1D56,0x1C49,0x1AE3,0x195F,0x1800,0x1700,0x168D,0x16BA,0x1785,0x18D0,0x1A69,0x1C12,0x1D8A,0x1E98,0x1F13,\ - 0x1EEB,0x1E28,0x1CEC,0x1FFF,0x19E8,0x189F,0x17C8,0x1788,0x17EA,0x18E2,0x1A48,0x1BE7,0x1D7C,0x1ECA,0x1F9C,0x1FD2,0x1F64,0x1E66,0x1D00,0x1B6E,0x19EF,0x18C1,0x1817,0x180A,0x189D,0x19BA,0x1B33,0x1CCC,0x1E44,0x1F5F,0x1FEE,0x1FDC,0x1F2B,0x1DF6,0x1C6E,0x1AD1,0x1960,0x1855,0x17D9,0x1800,\ - 0x18C1,0x19FD,0x1B80,0x1D0A,0x1E5C,0x1F3D,0x1F87,0x1F2E,0x1E3E,0x1CDA,0x1B39,0x199C,0x1842,0x1760,0x1717,0x1771,0x185D,0x19B1,0x1B36,0x1CAA,0x1DCF,0x1E73,0x1E79,0x1DDD,0x1CB4,0x1B2B,0x197C,0x17EA,0x16B1,0x15FF,0x15EE,0x167C,0x178F,0x18F7,0x1A78,0x1BCF,0x1CC4,0x1D2A,0x1CED,0x1C14,\ - 0x1ABC,0x191A,0x176B,0x15F0,0x14E2,0x1467,0x1490,0x1552,0x1689,0x1800,0x1977,0x1AAE,0x1B70,0x1B99,0x1B1E,0x1A10,0x1895,0x16E6,0x1544,0x13EC,0x1313,0x12D6,0x133C,0x1431,0x1588,0x1709,0x1871,0x1984,0x1A12,0x1A01,0x194F,0x1816,0x1684,0x14D5,0x134C,0x1223,0x1187,0x118D,0x1231,0x1356,\ - 0x14CA,0x164F,0x17A3,0x188F,0x18E9,0x18A0,0x17BE,0x1664,0x14C7,0x1326,0x11C2,0x10D2,0x1079,0x10C3,0x11A4,0x12F6,0x1480,0x1603,0x173F,0x1800,0x1827,0x17AB,0x16A0,0x152F,0x1392,0x120A,0x10D5,0x1024,0x1012,0x10A1,0x11BC,0x1334,0x14CD,0x1646,0x1763,0x17F6,0x17E9,0x173F,0x1611,0x1492,\ - 0x1300,0x119A,0x109C,0x102E,0x1064,0x1136,0x1284,0x1419,0x15B8,0x171E,0x1816,0x1878,0x1838,0x1761,0x1618,0x1494,0x1314,0x11D8,0x1115,0x10ED,0x1168,0x1276,0x13EE,0x1597,0x1730,0x187B,0x1946,0x1973,0x1900,0x1800,0x16A1,0x151D,0x13B7,0x12AA,0x1225,0x1241,0x12FC,0x143E,0x15D5,0x1786,\ - 0x190E,0x1A32,0x1AC9,0x1ABE,0x1A16,0x18F1,0x1781,0x1604,0x14BC,0x13E1,0x139A,0x13F6,0x14EB,0x1656}; -//Sinus (10Khz + 625hz) - /*=================================================== T Y P E S D E F ====================================================*/ -/** Structure repr�sentant le registre du CNA */ -struct DAC_Driver +struct DAC_REG { - int configReg; /**< Registre de configuration: Flag Ready [1] ; Flag Enable [0] */ - int dataReg; /**< Registre de donn�e sur 16 bits */ + int ConfigReg; + int ClkConfigReg; }; -typedef volatile struct DAC_Driver DAC_Device; +typedef volatile struct DAC_REG DAC_Device; /*=================================================== F U N C T I O N S ====================================================*/ -/** Ouvre l'acc� au CNA */ DAC_Device* openDAC(int count); diff --git a/lib/lpp/lpp_cna/APB_DAC.vhd b/lib/lpp/lpp_cna/APB_DAC.vhd --- a/lib/lpp/lpp_cna/APB_DAC.vhd +++ b/lib/lpp/lpp_cna/APB_DAC.vhd @@ -90,8 +90,8 @@ enable <= Rec.DAC_Cfg(0); N <= to_integer(unsigned(Rec.CLK_Cfg)); CLK0 : Clock_Divider - generic map (250) - port map (clk,rst,clkdiv); --clkdiv = 100KHz + generic map (308) --clkdiv = 80KHz + port map (clk,rst,clkdiv); CLKSET : ClkSetting generic map(Nmax) diff --git a/lib/lpp/lpp_cna/ClkSetting.vhd b/lib/lpp/lpp_cna/ClkSetting.vhd --- a/lib/lpp/lpp_cna/ClkSetting.vhd +++ b/lib/lpp/lpp_cna/ClkSetting.vhd @@ -54,6 +54,6 @@ begin end if; end process; -sclk <= clockint(N); +sclk <= clk when N=0 else clockint(N-1); end architecture; \ No newline at end of file