Autor Tema: Mis experiencias con Teensy 3.6  (Leído 8447 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:Mis experiencias con Teensy 3.6
« Respuesta #45 en: 18 de Mayo de 2017, 15:22:27 »
La siguiente prueba ha sido realizar una comparación entre el DAC y el ADC para comprobar el error que existe entre ambos en modo de 12 bits.
Para conseguirlo primero he conectado con un cable el pin de salida del DAC con un pin de entrada del ADC.
A continuación un programa escribe un valor en el DAC y lee el valor de tensión de salida con el ADC. Estos dos valores se comparan para medir su error.
Este proceso se repite para el 96% de los valores del rango del DAC y del ADC (he eliminado un 2% en los extremos, donde puede existir más error).
Por último se realiza un cálculo estadístico de los valores de error máximo, mínimo,  medio y desviación estandar.

El programa es el siguiente:
Código: C
  1. /*
  2.    ADC - DAC correlation
  3. */
  4.  
  5. #define VREF            3.6
  6. #define VREF_MARGIN     0.05
  7. #define DAC_RESOLUTION  4096.0
  8. #define DAC_RANGE_INIT  (DAC_RESOLUTION * VREF_MARGIN)
  9. #define DAC_RANGE       (DAC_RESOLUTION - 2.0 * DAC_RANGE_INIT)
  10.  
  11. void setup() {
  12.   // Configuration
  13.   Serial.begin(9600);
  14.   pinMode(13, OUTPUT);
  15.   pinMode(A20, INPUT);
  16.   analogWriteResolution(12);
  17.   analogReadRes(12);
  18. }
  19.  
  20. void loop() {
  21.   // Declare variables
  22.   int volts_read, volts_write;
  23.   int err_max, err_min;
  24.   double error, mean, desv;
  25.  
  26.   // Measure correlation error between DAC and ADC
  27.   mean = desv = err_max = err_min = 0;
  28.   for(int i=0; i<DAC_RANGE; i++) {
  29.     volts_write = DAC_RANGE_INIT + i;
  30.     analogWrite(A21, volts_write);
  31.     delayMicroseconds(10);
  32.     volts_read = analogRead(A20); // ADC0_read();
  33.     error = volts_write - volts_read;
  34.     Serial.println(error);
  35.     if (error > err_max) err_max = error;
  36.     if (error < err_min) err_min = error;
  37.     mean += error;
  38.     desv += error*error;
  39.   }
  40.   mean = mean * 1.0 / DAC_RANGE;
  41.   desv = sqrt( desv * 1.0 / DAC_RANGE - mean*mean);
  42.  
  43.   // Print out results
  44.   Serial.print("Max Error = ");
  45.   Serial.println(err_max);
  46.   Serial.print("Min Error = ");
  47.   Serial.println(err_min);
  48.   Serial.print("Mean Error = ");
  49.   Serial.println(mean);
  50.   Serial.print("Standard Deviation Error = ");
  51.   Serial.println(desv);
  52.   Serial.println();
  53.  
  54.   // Wait for serial signal
  55.   while(Serial.read() < 0);
  56. }

Los resultados son:

Max Error = 1
Min Error = -8
Mean Error = -3.26
Standard Deviation Error = 1.46

La serie completa de errores (valor DAC - valor ADC) es:
Código: ASM
  1. 0
  2. 0
  3. 0
  4. -1
  5. -2
  6. 0
  7. -1
  8. -1
  9. -1
  10. 0
  11. 0
  12. 0
  13. 0
  14. -1
  15. 0
  16. 0
  17. -1
  18. 0
  19. 0
  20. 1
  21. 0
  22. 0
  23. -1
  24. 0
  25. 0
  26. 1
  27. 0
  28. 0
  29. -1
  30. -1
  31. -1
  32. 0
  33. 0
  34. 0
  35. -1
  36. 0
  37. 0
  38. 0
  39. -2
  40. -1
  41. 0
  42. 0
  43. 0
  44. 0
  45. -1
  46. -1
  47. 0
  48. 0
  49. 0
  50. 0
  51. -1
  52. 0
  53. 0
  54. 0
  55. 0
  56. -1
  57. 0
  58. 0
  59. -1
  60. 0
  61. 0
  62. 0
  63. 0
  64. -1
  65. -2
  66. -1
  67. 0
  68. -1
  69. 0
  70. -1
  71. -1
  72. -1
  73. -1
  74. -1
  75. -1
  76. 0
  77. 0
  78. -1
  79. -1
  80. -1
  81. -1
  82. -1
  83. 0
  84. -1
  85. 0
  86. -1
  87. 0
  88. 0
  89. 0
  90. -1
  91. 0
  92. -2
  93. -1
  94. 0
  95. -1
  96. -1
  97. 0
  98. 0
  99. -1
  100. -1
  101. 0
  102. 0
  103. 0
  104. 0
  105. -1
  106. 0
  107. -1
  108. -1
  109. -1
  110. 0
  111. -2
  112. 0
  113. -1
  114. -1
  115. -1
  116. 0
  117. 1
  118. -2
  119. -1
  120. 0
  121. 0
  122. 0
  123. 0
  124. -1
  125. -1
  126. 0
  127. -1
  128. -1
  129. -1
  130. -1
  131. -1
  132. -1
  133. 0
  134. 0
  135. -1
  136. -1
  137. -1
  138. -1
  139. -1
  140. -1
  141. -2
  142. 0
  143. -1
  144. -1
  145. 0
  146. -1
  147. -1
  148. -2
  149. -2
  150. -1
  151. -2
  152. -1
  153. -1
  154. -1
  155. -1
  156. 0
  157. -1
  158. -1
  159. 0
  160. -1
  161. -1
  162. -2
  163. 0
  164. 1
  165. -1
  166. 0
  167. 0
  168. -1
  169. -1
  170. -1
  171. -1
  172. -1
  173. -1
  174. -1
  175. -2
  176. -1
  177. -1
  178. -1
  179. -1
  180. -2
  181. -1
  182. 0
  183. -2
  184. -1
  185. -2
  186. -1
  187. -1
  188. -1
  189. 0
  190. -1
  191. 0
  192. -1
  193. -1
  194. -2
  195. 0
  196. -1
  197. -1
  198. -2
  199. -1
  200. -2
  201. -1
  202. -1
  203. -2
  204. -1
  205. -1
  206. -1
  207. -1
  208. -2
  209. -1
  210. -1
  211. -1
  212. -1
  213. -1
  214. -1
  215. -2
  216. -1
  217. -1
  218. 0
  219. -1
  220. -2
  221. -2
  222. -1
  223. -2
  224. -1
  225. -1
  226. -1
  227. -1
  228. -1
  229. -1
  230. -2
  231. -1
  232. -1
  233. -1
  234. -1
  235. -2
  236. 0
  237. -2
  238. 0
  239. 0
  240. -1
  241. -1
  242. -1
  243. -1
  244. 0
  245. -1
  246. -1
  247. -1
  248. -2
  249. -1
  250. -2
  251. -1
  252. -1
  253. -1
  254. -1
  255. -1
  256. -1
  257. -1
  258. -1
  259. -2
  260. -1
  261. 0
  262. -1
  263. -1
  264. -1
  265. -2
  266. -1
  267. -1
  268. -1
  269. -1
  270. -1
  271. -1
  272. 0
  273. 0
  274. -1
  275. -1
  276. -1
  277. -1
  278. 0
  279. -1
  280. -1
  281. -2
  282. -2
  283. -2
  284. -1
  285. 0
  286. -1
  287. -1
  288. -1
  289. -1
  290. -2
  291. -1
  292. -1
  293. -1
  294. -1
  295. 0
  296. -1
  297. -1
  298. -1
  299. -1
  300. 0
  301. -1
  302. -1
  303. -1
  304. -2
  305. -1
  306. -1
  307. -2
  308. -1
  309. -1
  310. -2
  311. -1
  312. -1
  313. -1
  314. 0
  315. -3
  316. -2
  317. -2
  318. -1
  319. -1
  320. 0
  321. -1
  322. -1
  323. -2
  324. -3
  325. -1
  326. -1
  327. -1
  328. 0
  329. -1
  330. -2
  331. -2
  332. -2
  333. -1
  334. 0
  335. -2
  336. -1
  337. -1
  338. -1
  339. 0
  340. 0
  341. -1
  342. -1
  343. -1
  344. -2
  345. 0
  346. -1
  347. -2
  348. -1
  349. -1
  350. -1
  351. -1
  352. -2
  353. 0
  354. -1
  355. -1
  356. -2
  357. -2
  358. -2
  359. 0
  360. -1
  361. 0
  362. -1
  363. -1
  364. -1
  365. -1
  366. 0
  367. 0
  368. -1
  369. 0
  370. -1
  371. -1
  372. -1
  373. 0
  374. 0
  375. -1
  376. 0
  377. -1
  378. -1
  379. -1
  380. -1
  381. -1
  382. -1
  383. -1
  384. 0
  385. -2
  386. -1
  387. 0
  388. 0
  389. 0
  390. 0
  391. -1
  392. 0
  393. 1
  394. 0
  395. -1
  396. 0
  397. -1
  398. -1
  399. -1
  400. -1
  401. -1
  402. 0
  403. -1
  404. -1
  405. -1
  406. -2
  407. -1
  408. 0
  409. -1
  410. -1
  411. -1
  412. 0
  413. 0
  414. -1
  415. -1
  416. -2
  417. -1
  418. -1
  419. -1
  420. -2
  421. 0
  422. 0
  423. 0
  424. -1
  425. -1
  426. -2
  427. -2
  428. -2
  429. -1
  430. -1
  431. -1
  432. -1
  433. -2
  434. -1
  435. -2
  436. -2
  437. -1
  438. -2
  439. -2
  440. -2
  441. -1
  442. -2
  443. 0
  444. -2
  445. -2
  446. -1
  447. -1
  448. -2
  449. -1
  450. -1
  451. -2
  452. -1
  453. -1
  454. -1
  455. -1
  456. -1
  457. -2
  458. -1
  459. -1
  460. -1
  461. -2
  462. -1
  463. -1
  464. -1
  465. -2
  466. -2
  467. -2
  468. -1
  469. -2
  470. -2
  471. -1
  472. -2
  473. -1
  474. -2
  475. -1
  476. -1
  477. 0
  478. -1
  479. -2
  480. -1
  481. -1
  482. -1
  483. -1
  484. -1
  485. -2
  486. -1
  487. -2
  488. -2
  489. -1
  490. -1
  491. -1
  492. -1
  493. -1
  494. -1
  495. -1
  496. -1
  497. -1
  498. -2
  499. -2
  500. -1
  501. -1
  502. -1
  503. -1
  504. -1
  505. -2
  506. -1
  507. -1
  508. -1
  509. 0
  510. -1
  511. -1
  512. 0
  513. -1
  514. -2
  515. -1
  516. -2
  517. -1
  518. -1
  519. -1
  520. -1
  521. -1
  522. 0
  523. -1
  524. -1
  525. 0
  526. -1
  527. -2
  528. -1
  529. -1
  530. -1
  531. 0
  532. -2
  533. -1
  534. -1
  535. -1
  536. -1
  537. 0
  538. -1
  539. -2
  540. -2
  541. -1
  542. -2
  543. -1
  544. -1
  545. -2
  546. 0
  547. -1
  548. -1
  549. -1
  550. -1
  551. 0
  552. 0
  553. -1
  554. -1
  555. 0
  556. -1
  557. -1
  558. 0
  559. -1
  560. -1
  561. -2
  562. -1
  563. -1
  564. -1
  565. -1
  566. -1
  567. -2
  568. -1
  569. -1
  570. 0
  571. 0
  572. -1
  573. -1
  574. -1
  575. 0
  576. -1
  577. -1
  578. -1
  579. -2
  580. -1
  581. -1
  582. -2
  583. -2
  584. -1
  585. 0
  586. -1
  587. -1
  588. -1
  589. -1
  590. -1
  591. -1
  592. 0
  593. -1
  594. -2
  595. -1
  596. -2
  597. -1
  598. -1
  599. -2
  600. -1
  601. -2
  602. -2
  603. -1
  604. -1
  605. -1
  606. -2
  607. -2
  608. -1
  609. -1
  610. -1
  611. -1
  612. -1
  613. -2
  614. -1
  615. -2
  616. -1
  617. -2
  618. -1
  619. -1
  620. -1
  621. 0
  622. -1
  623. 0
  624. -1
  625. -1
  626. 0
  627. -1
  628. -1
  629. -1
  630. -1
  631. -2
  632. -2
  633. -1
  634. -1
  635. -2
  636. -1
  637. -2
  638. -1
  639. -1
  640. -2
  641. -1
  642. 0
  643. -1
  644. -1
  645. -1
  646. -1
  647. -2
  648. -2
  649. -1
  650. -1
  651. -1
  652. -1
  653. -1
  654. -1
  655. -1
  656. -2
  657. -2
  658. -1
  659. -2
  660. -2
  661. -1
  662. -2
  663. 0
  664. -2
  665. -2
  666. -1
  667. -2
  668. -2
  669. -2
  670. -2
  671. -2
  672. -1
  673. -1
  674. -1
  675. -1
  676. -2
  677. -2
  678. -2
  679. -2
  680. -1
  681. -3
  682. -2
  683. -2
  684. -2
  685. -2
  686. -1
  687. -2
  688. -2
  689. -2
  690. -2
  691. -3
  692. -2
  693. -1
  694. -2
  695. -1
  696. -3
  697. -2
  698. -2
  699. -2
  700. -1
  701. -2
  702. -2
  703. -3
  704. -3
  705. -2
  706. -2
  707. -1
  708. -1
  709. -2
  710. -2
  711. -2
  712. -3
  713. -2
  714. -2
  715. -2
  716. -2
  717. -2
  718. -2
  719. -1
  720. -2
  721. -1
  722. -2
  723. -2
  724. -2
  725. -3
  726. -2
  727. -1
  728. -2
  729. -2
  730. -2
  731. -2
  732. -2
  733. 0
  734. -2
  735. -2
  736. -2
  737. -2
  738. -2
  739. -2
  740. -2
  741. -2
  742. -2
  743. -2
  744. -2
  745. -2
  746. -3
  747. -2
  748. -2
  749. -1
  750. -2
  751. -2
  752. -2
  753. -3
  754. -2
  755. -2
  756. -2
  757. -2
  758. -2
  759. -3
  760. -2
  761. -2
  762. -2
  763. -2
  764. -3
  765. -2
  766. -3
  767. -2
  768. -2
  769. -2
  770. -2
  771. -2
  772. -2
  773. -2
  774. -2
  775. -2
  776. -3
  777. -3
  778. -3
  779. -2
  780. -2
  781. -2
  782. -2
  783. -2
  784. -3
  785. -2
  786. -2
  787. -2
  788. -2
  789. -2
  790. -2
  791. -2
  792. -2
  793. -2
  794. -2
  795. -1
  796. -3
  797. -2
  798. -3
  799. -2
  800. -2
  801. -2
  802. -2
  803. -2
  804. -3
  805. -3
  806. -2
  807. -2
  808. -1
  809. -3
  810. -2
  811. -3
  812. -2
  813. -2
  814. -2
  815. -2
  816. -1
  817. -2
  818. -3
  819. -2
  820. -2
  821. -2
  822. -3
  823. -2
  824. -2
  825. -2
  826. -2
  827. -2
  828. -2
  829. -4
  830. -2
  831. -2
  832. -3
  833. -3
  834. -2
  835. -3
  836. -2
  837. -2
  838. -2
  839. -3
  840. -2
  841. -2
  842. -2
  843. -3
  844. -2
  845. -2
  846. -2
  847. -2
  848. -2
  849. -2
  850. -3
  851. -2
  852. -2
  853. -2
  854. -3
  855. -3
  856. -2
  857. -3
  858. -3
  859. -3
  860. -3
  861. -3
  862. -2
  863. -2
  864. -2
  865. -2
  866. -3
  867. -3
  868. -3
  869. -2
  870. -2
  871. -2
  872. -2
  873. -3
  874. -2
  875. -3
  876. -2
  877. -2
  878. -3
  879. -2
  880. -1
  881. -2
  882. -2
  883. -2
  884. -2
  885. -3
  886. -3
  887. -3
  888. -2
  889. -4
  890. -2
  891. -1
  892. -3
  893. -2
  894. -3
  895. -2
  896. -1
  897. -2
  898. -2
  899. -2
  900. -2
  901. -2
  902. -3
  903. -2
  904. -2
  905. -3
  906. -2
  907. -2
  908. -2
  909. -3
  910. -3
  911. -3
  912. -2
  913. -3
  914. -2
  915. -3
  916. -2
  917. -2
  918. -4
  919. -4
  920. -3
  921. -3
  922. -3
  923. -3
  924. -3
  925. -3
  926. -3
  927. -3
  928. -2
  929. -3
  930. -3
  931. -3
  932. -3
  933. -2
  934. -3
  935. -4
  936. -3
  937. -3
  938. -3
  939. -3
  940. -3
  941. -3
  942. -3
  943. -3
  944. -3
  945. -4
  946. -4
  947. -2
  948. -3
  949. -4
  950. -3
  951. -3
  952. -3
  953. -2
  954. -3
  955. -3
  956. -3
  957. -2
  958. -3
  959. -3
  960. -3
  961. -3
  962. -2
  963. -2
  964. -3
  965. -3
  966. -2
  967. -4
  968. -3
  969. -3
  970. -2
  971. -3
  972. -4
  973. -3
  974. -3
  975. -3
  976. -2
  977. -2
  978. -3
  979. -2
  980. -3
  981. -4
  982. -3
  983. -3
  984. -2
  985. -4
  986. -3
  987. -2
  988. -3
  989. -3
  990. -2
  991. -3
  992. -2
  993. -3
  994. -3
  995. -2
  996. -2
  997. -3
  998. -2
  999. -2
  1000. -3
  1001. -4
  1002. -3
  1003. -2
  1004. -3
  1005. -3
  1006. -3
  1007. -3
  1008. -3
  1009. -2
  1010. -3
  1011. -2
  1012. -2
  1013. -3
  1014. -3
  1015. -3
  1016. -2
  1017. -3
  1018. -3
  1019. -4
  1020. -3
  1021. -3
  1022. -2
  1023. -3
  1024. -3
  1025. -3
  1026. -2
  1027. -3
  1028. -2
  1029. -3
  1030. -2
  1031. -3
  1032. -2
  1033. -3
  1034. -3
  1035. -3
  1036. -3
  1037. -2
  1038. -3
  1039. -2
  1040. -3
  1041. -2
  1042. -3
  1043. -3
  1044. -2
  1045. -3
  1046. -2
  1047. -3
  1048. -2
  1049. -4
  1050. -3
  1051. -3
  1052. -2
  1053. -2
  1054. -3
  1055. -4
  1056. -3
  1057. -3
  1058. -3
  1059. -3
  1060. -3
  1061. -4
  1062. -3
  1063. -2
  1064. -2
  1065. -4
  1066. -3
  1067. -3
  1068. -3
  1069. -2
  1070. -2
  1071. -3
  1072. -2
  1073. -3
  1074. -3
  1075. -3
  1076. -3
  1077. -3
  1078. -3
  1079. -3
  1080. -2
  1081. -3
  1082. -3
  1083. -3
  1084. -3
  1085. -2
  1086. -4
  1087. -3
  1088. -2
  1089. -3
  1090. -3
  1091. -2
  1092. -3
  1093. -3
  1094. -2
  1095. -2
  1096. -2
  1097. -3
  1098. -2
  1099. -2
  1100. -2
  1101. -3
  1102. -3
  1103. -4
  1104. -3
  1105. -1
  1106. -2
  1107. -3
  1108. -2
  1109. -3
  1110. -2
  1111. -2
  1112. -3
  1113. -3
  1114. -2
  1115. -3
  1116. -3
  1117. -2
  1118. -2
  1119. -3
  1120. -3
  1121. -2
  1122. -3
  1123. -3
  1124. -3
  1125. -3
  1126. -3
  1127. -2
  1128. -3
  1129. -4
  1130. -3
  1131. -3
  1132. -1
  1133. -2
  1134. -3
  1135. -3
  1136. -3
  1137. -3
  1138. -3
  1139. -3
  1140. -2
  1141. -3
  1142. -3
  1143. -3
  1144. -3
  1145. -3
  1146. -3
  1147. -3
  1148. -3
  1149. -3
  1150. -2
  1151. -3
  1152. -3
  1153. -2
  1154. -2
  1155. -3
  1156. -3
  1157. -2
  1158. -2
  1159. -2
  1160. -3
  1161. -4
  1162. -3
  1163. -3
  1164. -3
  1165. -2
  1166. -3
  1167. -3
  1168. -3
  1169. -3
  1170. -2
  1171. -3
  1172. -2
  1173. -2
  1174. -3
  1175. -3
  1176. -3
  1177. -4
  1178. -3
  1179. -3
  1180. -3
  1181. -3
  1182. -3
  1183. -4
  1184. -3
  1185. -3
  1186. -3
  1187. -3
  1188. -4
  1189. -3
  1190. -3
  1191. -3
  1192. -3
  1193. -4
  1194. -3
  1195. -4
  1196. -3
  1197. -3
  1198. -2
  1199. -2
  1200. -3
  1201. -4
  1202. -3
  1203. -3
  1204. -3
  1205. -3
  1206. -4
  1207. -4
  1208. -3
  1209. -4
  1210. -4
  1211. -3
  1212. -3
  1213. -3
  1214. -3
  1215. -3
  1216. -3
  1217. -3
  1218. -4
  1219. -3
  1220. -3
  1221. -4
  1222. -3
  1223. -4
  1224. -3
  1225. -4
  1226. -3
  1227. -3
  1228. -4
  1229. -4
  1230. -4
  1231. -3
  1232. -3
  1233. -3
  1234. -3
  1235. -4
  1236. -3
  1237. -3
  1238. -3
  1239. -3
  1240. -2
  1241. -2
  1242. -3
  1243. -3
  1244. -4
  1245. -3
  1246. -4
  1247. -3
  1248. -2
  1249. -3
  1250. -4
  1251. -3
  1252. -3
  1253. -2
  1254. -3
  1255. -4
  1256. -2
  1257. -3
  1258. -4
  1259. -3
  1260. -2
  1261. -3
  1262. -3
  1263. -3
  1264. -2
  1265. -3
  1266. -3
  1267. -3
  1268. -3
  1269. -3
  1270. -3
  1271. -4
  1272. -2
  1273. -3
  1274. -3
  1275. -2
  1276. -4
  1277. -3
  1278. -3
  1279. -3
  1280. -3
  1281. -3
  1282. -3
  1283. -2
  1284. -3
  1285. -4
  1286. -2
  1287. -3
  1288. -3
  1289. -4
  1290. -3
  1291. -4
  1292. -3
  1293. -2
  1294. -2
  1295. -3
  1296. -3
  1297. -3
  1298. -3
  1299. -4
  1300. -3
  1301. -2
  1302. -3
  1303. -3
  1304. -3
  1305. -4
  1306. -2
  1307. -2
  1308. -3
  1309. -2
  1310. -3
  1311. -3
  1312. -2
  1313. -2
  1314. -3
  1315. -2
  1316. -3
  1317. -3
  1318. -3
  1319. -3
  1320. -3
  1321. -3
  1322. -2
  1323. -3
  1324. -3
  1325. -3
  1326. -3
  1327. -4
  1328. -3
  1329. -3
  1330. -3
  1331. -3
  1332. -2
  1333. -3
  1334. -3
  1335. -3
  1336. -2
  1337. -4
  1338. -3
  1339. -3
  1340. -4
  1341. -2
  1342. -3
  1343. -3
  1344. -2
  1345. -3
  1346. -3
  1347. -3
  1348. -3
  1349. -3
  1350. -2
  1351. -3
  1352. -2
  1353. -3
  1354. -2
  1355. -2
  1356. -3
  1357. -3
  1358. -2
  1359. -3
  1360. -3
  1361. -3
  1362. -2
  1363. -3
  1364. -2
  1365. -3
  1366. -3
  1367. -2
  1368. -2
  1369. -3
  1370. -3
  1371. -3
  1372. -3
  1373. -3
  1374. -3
  1375. -2
  1376. -2
  1377. -2
  1378. -3
  1379. -1
  1380. -2
  1381. -2
  1382. -3
  1383. -3
  1384. -2
  1385. -4
  1386. -3
  1387. -2
  1388. -4
  1389. -2
  1390. -2
  1391. -2
  1392. -2
  1393. -3
  1394. -3
  1395. -3
  1396. -2
  1397. -2
  1398. -2
  1399. -2
  1400. -2
  1401. -3
  1402. -2
  1403. -3
  1404. -3
  1405. -3
  1406. -3
  1407. -3
  1408. -2
  1409. -3
  1410. -3
  1411. -3
  1412. -3
  1413. -3
  1414. -3
  1415. -2
  1416. -3
  1417. -3
  1418. -3
  1419. -3
  1420. -4
  1421. -4
  1422. -2
  1423. -3
  1424. -3
  1425. -3
  1426. -3
  1427. -3
  1428. -3
  1429. -3
  1430. -4
  1431. -4
  1432. -3
  1433. -4
  1434. -4
  1435. -3
  1436. -3
  1437. -3
  1438. -3
  1439. -4
  1440. -4
  1441. -3
  1442. -2
  1443. -3
  1444. -3
  1445. -3
  1446. -3
  1447. -3
  1448. -3
  1449. -3
  1450. -3
  1451. -2
  1452. -3
  1453. -3
  1454. -3
  1455. -3
  1456. -3
  1457. -3
  1458. -4
  1459. -3
  1460. -2
  1461. -3
  1462. -3
  1463. -2
  1464. -4
  1465. -4
  1466. -4
  1467. -3
  1468. -2
  1469. -2
  1470. -2
  1471. -3
  1472. -3
  1473. -3
  1474. -3
  1475. -3
  1476. -2
  1477. -2
  1478. -3
  1479. -3
  1480. -3
  1481. -2
  1482. -3
  1483. -3
  1484. -3
  1485. -3
  1486. -3
  1487. -2
  1488. -3
  1489. -2
  1490. -2
  1491. -4
  1492. -3
  1493. -3
  1494. -3
  1495. -3
  1496. -2
  1497. -3
  1498. -3
  1499. -3
  1500. -3
  1501. -3
  1502. -3
  1503. -3
  1504. -2
  1505. -3
  1506. -3
  1507. -3
  1508. -3
  1509. -2
  1510. -3
  1511. -3
  1512. -4
  1513. -3
  1514. -4
  1515. -3
  1516. -3
  1517. -3
  1518. -3
  1519. -2
  1520. -2
  1521. -2
  1522. -3
  1523. -4
  1524. -3
  1525. -4
  1526. -3
  1527. -4
  1528. -4
  1529. -3
  1530. -2
  1531. -2
  1532. -4
  1533. -3
  1534. -3
  1535. -3
  1536. -2
  1537. -3
  1538. -3
  1539. -3
  1540. -3
  1541. -4
  1542. -3
  1543. -2
  1544. -2
  1545. -3
  1546. -3
  1547. -4
  1548. -3
  1549. -3
  1550. -4
  1551. -2
  1552. -4
  1553. -2
  1554. -4
  1555. -3
  1556. -3
  1557. -3
  1558. -2
  1559. -2
  1560. -2
  1561. -4
  1562. -3
  1563. -2
  1564. -3
  1565. -2
  1566. -3
  1567. -3
  1568. -2
  1569. -3
  1570. -3
  1571. -4
  1572. -3
  1573. -4
  1574. -2
  1575. -3
  1576. -3
  1577. -3
  1578. -2
  1579. -3
  1580. -3
  1581. -2
  1582. -3
  1583. -3
  1584. -3
  1585. -3
  1586. -4
  1587. -2
  1588. -3
  1589. -3
  1590. -3
  1591. -2
  1592. -3
  1593. -3
  1594. -3
  1595. -3
  1596. -3
  1597. -2
  1598. -2
  1599. -3
  1600. -3
  1601. -3
  1602. -3
  1603. -3
  1604. -1
  1605. -2
  1606. -3
  1607. -3
  1608. -2
  1609. -3
  1610. -3
  1611. -2
  1612. -4
  1613. -2
  1614. -3
  1615. -4
  1616. -3
  1617. -3
  1618. -2
  1619. -2
  1620. -3
  1621. -3
  1622. -4
  1623. -3
  1624. -2
  1625. -4
  1626. -2
  1627. -4
  1628. -3
  1629. -3
  1630. -3
  1631. -2
  1632. -3
  1633. -3
  1634. -2
  1635. -2
  1636. -3
  1637. -4
  1638. -3
  1639. -2
  1640. -2
  1641. -4
  1642. -3
  1643. -4
  1644. -3
  1645. -2
  1646. -3
  1647. -2
  1648. -3
  1649. -4
  1650. -2
  1651. -3
  1652. -3
  1653. -3
  1654. -3
  1655. -3
  1656. -3
  1657. -4
  1658. -2
  1659. -2
  1660. -3
  1661. -3
  1662. -2
  1663. -3
  1664. -3
  1665. -3
  1666. -2
  1667. -3
  1668. -2
  1669. -3
  1670. -3
  1671. -4
  1672. -2
  1673. -3
  1674. -3
  1675. -3
  1676. -3
  1677. -3
  1678. -2
  1679. -3
  1680. -3
  1681. -4
  1682. -3
  1683. -3
  1684. -2
  1685. -2
  1686. -3
  1687. -3
  1688. -2
  1689. -3
  1690. -3
  1691. -2
  1692. -2
  1693. -3
  1694. -4
  1695. -4
  1696. -4
  1697. -3
  1698. -2
  1699. -4
  1700. -2
  1701. -3
  1702. -2
  1703. -3
  1704. -2
  1705. -4
  1706. -2
  1707. -4
  1708. -3
  1709. -3
  1710. -2
  1711. -2
  1712. -2
  1713. -2
  1714. -4
  1715. -3
  1716. -3
  1717. -3
  1718. -2
  1719. -2
  1720. -3
  1721. -3
  1722. -2
  1723. -3
  1724. -3
  1725. -3
  1726. -2
  1727. -2
  1728. -3
  1729. -3
  1730. -4
  1731. -3
  1732. -3
  1733. -2
  1734. -2
  1735. -3
  1736. -4
  1737. -5
  1738. -2
  1739. -2
  1740. -2
  1741. -3
  1742. -3
  1743. -3
  1744. -3
  1745. -2
  1746. -3
  1747. -3
  1748. -3
  1749. -4
  1750. -3
  1751. -3
  1752. -3
  1753. -5
  1754. -3
  1755. -2
  1756. -4
  1757. -3
  1758. -3
  1759. -3
  1760. -3
  1761. -3
  1762. -3
  1763. -3
  1764. -3
  1765. -3
  1766. -3
  1767. -3
  1768. -3
  1769. -4
  1770. -3
  1771. -3
  1772. -3
  1773. -3
  1774. -3
  1775. -3
  1776. -4
  1777. -4
  1778. -2
  1779. -4
  1780. -3
  1781. -3
  1782. -3
  1783. -3
  1784. -3
  1785. -5
  1786. -3
  1787. -3
  1788. -3
  1789. -4
  1790. -3
  1791. -3
  1792. -2
  1793. -3
  1794. -3
  1795. -2
  1796. -2
  1797. -3
  1798. -4
  1799. -4
  1800. -3
  1801. -3
  1802. -3
  1803. -4
  1804. -3
  1805. -3
  1806. -2
  1807. -3
  1808. -4
  1809. -3
  1810. -3
  1811. -3
  1812. -3
  1813. -3
  1814. -3
  1815. -3
  1816. -3
  1817. -3
  1818. -3
  1819. -4
  1820. -2
  1821. -3
  1822. -4
  1823. -3
  1824. -3
  1825. -4
  1826. -4
  1827. -4
  1828. -4
  1829. -3
  1830. -4
  1831. -3
  1832. -3
  1833. -3
  1834. -3
  1835. -5
  1836. -3
  1837. -4
  1838. -4
  1839. -3
  1840. -2
  1841. -3
  1842. -3
  1843. -2
  1844. -3
  1845. -3
  1846. -3
  1847. -1
  1848. -2
  1849. -5
  1850. -4
  1851. -4
  1852. -4
  1853. -3
  1854. -3
  1855. -4
  1856. -3
  1857. -4
  1858. -4
  1859. -3
  1860. -3
  1861. -3
  1862. -3
  1863. -4
  1864. -3
  1865. -5
  1866. -3
  1867. -2
  1868. -2
  1869. -3
  1870. -3
  1871. -4
  1872. -3
  1873. -3
  1874. -3
  1875. -2
  1876. -3
  1877. -4
  1878. -4
  1879. -3
  1880. -3
  1881. -4
  1882. -2
  1883. -3
  1884. -3
  1885. -3
  1886. -3
  1887. -2
  1888. -2
  1889. -3
  1890. -4
  1891. -4
  1892. -4
  1893. -3
  1894. -4
  1895. -3
  1896. -2
  1897. -5
  1898. -3
  1899. -3
  1900. -3
  1901. -3
  1902. -3
  1903. -3
  1904. -3
  1905. -3
  1906. -3
  1907. -3
  1908. -4
  1909. -2
  1910. -4
  1911. -4
  1912. -3
  1913. -4
  1914. -2
  1915. -4
  1916. -4
  1917. -4
  1918. -5
  1919. -4
  1920. -4
  1921. -4
  1922. -3
  1923. -4
  1924. -5
  1925. -4
  1926. -4
  1927. -4
  1928. -4
  1929. -4
  1930. -5
  1931. -5
  1932. -4
  1933. -4
  1934. -4
  1935. -3
  1936. -4
  1937. -4
  1938. -5
  1939. -4
  1940. -4
  1941. -4
  1942. -3
  1943. -4
  1944. -5
  1945. -3
  1946. -5
  1947. -4
  1948. -5
  1949. -5
  1950. -4
  1951. -4
  1952. -5
  1953. -4
  1954. -6
  1955. -4
  1956. -6
  1957. -5
  1958. -5
  1959. -4
  1960. -4
  1961. -6
  1962. -4
  1963. -4
  1964. -3
  1965. -4
  1966. -4
  1967. -4
  1968. -5
  1969. -4
  1970. -3
  1971. -4
  1972. -4
  1973. -4
  1974. -4
  1975. -4
  1976. -4
  1977. -4
  1978. -3
  1979. -4
  1980. -4
  1981. -4
  1982. -4
  1983. -5
  1984. -4
  1985. -3
  1986. -5
  1987. -5
  1988. -5
  1989. -4
  1990. -5
  1991. -4
  1992. -5
  1993. -6
  1994. -4
  1995. -3
  1996. -4
  1997. -5
  1998. -4
  1999. -5
  2000. -4
  2001. -4
  2002. -4
  2003. -4
  2004. -4
  2005. -4
  2006. -4
  2007. -4
  2008. -4
  2009. -5
  2010. -3
  2011. -3
  2012. -3
  2013. -4
  2014. -4
  2015. -4
  2016. -4
  2017. -3
  2018. -5
  2019. -4
  2020. -5
  2021. -4
  2022. -3
  2023. -4
  2024. -3
  2025. -6
  2026. -4
  2027. -4
  2028. -3
  2029. -4
  2030. -5
  2031. -4
  2032. -4
  2033. -4
  2034. -5
  2035. -4
  2036. -4
  2037. -4
  2038. -5
  2039. -4
  2040. -4
  2041. -5
  2042. -4
  2043. -4
  2044. -3
  2045. -4
  2046. -4
  2047. -5
  2048. -4
  2049. -4
  2050. -3
  2051. -5
  2052. -4
  2053. -4
  2054. -5
  2055. -4
  2056. -2
  2057. -4
  2058. -4
  2059. -5
  2060. -4
  2061. -5
  2062. -5
  2063. -4
  2064. -5
  2065. -4
  2066. -4
  2067. -5
  2068. -5
  2069. -4
  2070. -4
  2071. -4
  2072. -5
  2073. -4
  2074. -4
  2075. -4
  2076. -4
  2077. -3
  2078. -4
  2079. -5
  2080. -4
  2081. -4
  2082. -4
  2083. -3
  2084. -5
  2085. -5
  2086. -4
  2087. -4
  2088. -4
  2089. -5
  2090. -4
  2091. -4
  2092. -3
  2093. -5
  2094. -5
  2095. -3
  2096. -3
  2097. -4
  2098. -4
  2099. -4
  2100. -4
  2101. -4
  2102. -4
  2103. -4
  2104. -3
  2105. -5
  2106. -4
  2107. -4
  2108. -3
  2109. -4
  2110. -3
  2111. -3
  2112. -4
  2113. -4
  2114. -3
  2115. -4
  2116. -4
  2117. -3
  2118. -4
  2119. -4
  2120. -4
  2121. -5
  2122. -4
  2123. -2
  2124. -3
  2125. -4
  2126. -3
  2127. -3
  2128. -3
  2129. -3
  2130. -3
  2131. -3
  2132. -4
  2133. -3
  2134. -3
  2135. -2
  2136. -4
  2137. -5
  2138. -4
  2139. -4
  2140. -4
  2141. -3
  2142. -4
  2143. -4
  2144. -4
  2145. -4
  2146. -4
  2147. -4
  2148. -4
  2149. -4
  2150. -4
  2151. -4
  2152. -3
  2153. -4
  2154. -3
  2155. -4
  2156. -3
  2157. -4
  2158. -3
  2159. -3
  2160. -4
  2161. -3
  2162. -5
  2163. -4
  2164. -4
  2165. -4
  2166. -3
  2167. -4
  2168. -4
  2169. -6
  2170. -3
  2171. -4
  2172. -4
  2173. -5
  2174. -5
  2175. -4
  2176. -4
  2177. -4
  2178. -4
  2179. -5
  2180. -5
  2181. -5
  2182. -4
  2183. -4
  2184. -5
  2185. -5
  2186. -3
  2187. -5
  2188. -4
  2189. -4
  2190. -5
  2191. -4
  2192. -4
  2193. -4
  2194. -4
  2195. -4
  2196. -4
  2197. -4
  2198. -4
  2199. -4
  2200. -4
  2201. -4
  2202. -5
  2203. -4
  2204. -5
  2205. -4
  2206. -4
  2207. -4
  2208. -4
  2209. -5
  2210. -5
  2211. -3
  2212. -4
  2213. -4
  2214. -6
  2215. -5
  2216. -4
  2217. -6
  2218. -4
  2219. -4
  2220. -6
  2221. -5
  2222. -5
  2223. -5
  2224. -5
  2225. -4
  2226. -4
  2227. -4
  2228. -5
  2229. -5
  2230. -5
  2231. -4
  2232. -4
  2233. -4
  2234. -4
  2235. -3
  2236. -4
  2237. -5
  2238. -3
  2239. -3
  2240. -4
  2241. -4
  2242. -3
  2243. -4
  2244. -3
  2245. -3
  2246. -4
  2247. -4
  2248. -4
  2249. -4
  2250. -4
  2251. -4
  2252. -4
  2253. -4
  2254. -4
  2255. -4
  2256. -4
  2257. -4
  2258. -4
  2259. -4
  2260. -4
  2261. -5
  2262. -5
  2263. -5
  2264. -6
  2265. -4
  2266. -4
  2267. -4
  2268. -4
  2269. -5
  2270. -4
  2271. -4
  2272. -4
  2273. -3
  2274. -4
  2275. -5
  2276. -4
  2277. -5
  2278. -3
  2279. -4
  2280. -4
  2281. -4
  2282. -5
  2283. -4
  2284. -4
  2285. -4
  2286. -4
  2287. -4
  2288. -3
  2289. -4
  2290. -6
  2291. -4
  2292. -3
  2293. -4
  2294. -5
  2295. -4
  2296. -5
  2297. -4
  2298. -4
  2299. -4
  2300. -5
  2301. -5
  2302. -4
  2303. -4
  2304. -4
  2305. -5
  2306. -4
  2307. -5
  2308. -4
  2309. -4
  2310. -5
  2311. -5
  2312. -4
  2313. -4
  2314. -4
  2315. -4
  2316. -4
  2317. -5
  2318. -5
  2319. -4
  2320. -4
  2321. -4
  2322. -4
  2323. -4
  2324. -4
  2325. -5
  2326. -5
  2327. -4
  2328. -4
  2329. -6
  2330. -6
  2331. -5
  2332. -5
  2333. -4
  2334. -3
  2335. -5
  2336. -5
  2337. -5
  2338. -5
  2339. -4
  2340. -4
  2341. -5
  2342. -5
  2343. -5
  2344. -4
  2345. -6
  2346. -5
  2347. -3
  2348. -5
  2349. -4
  2350. -5
  2351. -4
  2352. -4
  2353. -4
  2354. -3
  2355. -5
  2356. -4
  2357. -4
  2358. -5
  2359. -4
  2360. -4
  2361. -7
  2362. -3
  2363. -4
  2364. -4
  2365. -4
  2366. -4
  2367. -4
  2368. -5
  2369. -3
  2370. -3
  2371. -4
  2372. -5
  2373. -4
  2374. -3
  2375. -5
  2376. -3
  2377. -5
  2378. -3
  2379. -3
  2380. -4
  2381. -3
  2382. -4
  2383. -4
  2384. -4
  2385. -4
  2386. -5
  2387. -4
  2388. -4
  2389. -4
  2390. -4
  2391. -5
  2392. -4
  2393. -4
  2394. -3
  2395. -4
  2396. -3
  2397. -4
  2398. -4
  2399. -4
  2400. -4
  2401. -3
  2402. -4
  2403. -3
  2404. -4
  2405. -4
  2406. -4
  2407. -3
  2408. -2
  2409. -4
  2410. -4
  2411. -3
  2412. -4
  2413. -4
  2414. -5
  2415. -5
  2416. -5
  2417. -4
  2418. -5
  2419. -5
  2420. -4
  2421. -5
  2422. -5
  2423. -4
  2424. -4
  2425. -7
  2426. -4
  2427. -4
  2428. -5
  2429. -4
  2430. -5
  2431. -5
  2432. -4
  2433. -5
  2434. -5
  2435. -5
  2436. -5
  2437. -5
  2438. -5
  2439. -5
  2440. -4
  2441. -7
  2442. -5
  2443. -4
  2444. -5
  2445. -4
  2446. -4
  2447. -5
  2448. -4
  2449. -4
  2450. -4
  2451. -5
  2452. -5
  2453. -4
  2454. -4
  2455. -4
  2456. -3
  2457. -6
  2458. -4
  2459. -5
  2460. -5
  2461. -4
  2462. -4
  2463. -4
  2464. -4
  2465. -4
  2466. -4
  2467. -4
  2468. -4
  2469. -4
  2470. -4
  2471. -4
  2472. -5
  2473. -6
  2474. -3
  2475. -4
  2476. -3
  2477. -4
  2478. -5
  2479. -4
  2480. -4
  2481. -3
  2482. -4
  2483. -5
  2484. -5
  2485. -4
  2486. -5
  2487. -6
  2488. -3
  2489. -4
  2490. -4
  2491. -4
  2492. -4
  2493. -4
  2494. -5
  2495. -4
  2496. -4
  2497. -5
  2498. -4
  2499. -4
  2500. -5
  2501. -5
  2502. -4
  2503. -4
  2504. -5
  2505. -4
  2506. -5
  2507. -4
  2508. -3
  2509. -3
  2510. -5
  2511. -5
  2512. -5
  2513. -4
  2514. -4
  2515. -4
  2516. -4
  2517. -4
  2518. -4
  2519. -4
  2520. -5
  2521. -4
  2522. -4
  2523. -4
  2524. -4
  2525. -5
  2526. -5
  2527. -4
  2528. -4
  2529. -3
  2530. -4
  2531. -5
  2532. -4
  2533. -5
  2534. -4
  2535. -3
  2536. -4
  2537. -6
  2538. -4
  2539. -5
  2540. -4
  2541. -3
  2542. -4
  2543. -3
  2544. -5
  2545. -5
  2546. -4
  2547. -5
  2548. -5
  2549. -4
  2550. -4
  2551. -5
  2552. -4
  2553. -6
  2554. -4
  2555. -5
  2556. -4
  2557. -4
  2558. -4
  2559. -4
  2560. -4
  2561. -4
  2562. -4
  2563. -4
  2564. -3
  2565. -5
  2566. -5
  2567. -4
  2568. -4
  2569. -7
  2570. -4
  2571. -4
  2572. -4
  2573. -5
  2574. -5
  2575. -4
  2576. -4
  2577. -4
  2578. -5
  2579. -4
  2580. -4
  2581. -4
  2582. -4
  2583. -4
  2584. -5
  2585. -4
  2586. -3
  2587. -4
  2588. -4
  2589. -5
  2590. -4
  2591. -4
  2592. -4
  2593. -5
  2594. -3
  2595. -3
  2596. -4
  2597. -4
  2598. -4
  2599. -4
  2600. -4
  2601. -6
  2602. -4
  2603. -4
  2604. -3
  2605. -4
  2606. -3
  2607. -3
  2608. -4
  2609. -4
  2610. -4
  2611. -3
  2612. -4
  2613. -4
  2614. -3
  2615. -3
  2616. -4
  2617. -5
  2618. -3
  2619. -4
  2620. -3
  2621. -4
  2622. -4
  2623. -3
  2624. -4
  2625. -4
  2626. -4
  2627. -3
  2628. -3
  2629. -3
  2630. -4
  2631. -3
  2632. -4
  2633. -4
  2634. -4
  2635. -4
  2636. -3
  2637. -3
  2638. -3
  2639. -3
  2640. -4
  2641. -4
  2642. -3
  2643. -3
  2644. -4
  2645. -4
  2646. -4
  2647. -2
  2648. -3
  2649. -5
  2650. -4
  2651. -3
  2652. -4
  2653. -3
  2654. -4
  2655. -3
  2656. -5
  2657. -4
  2658. -3
  2659. -3
  2660. -5
  2661. -4
  2662. -4
  2663. -4
  2664. -4
  2665. -5
  2666. -3
  2667. -6
  2668. -4
  2669. -3
  2670. -4
  2671. -5
  2672. -3
  2673. -5
  2674. -5
  2675. -5
  2676. -4
  2677. -3
  2678. -4
  2679. -4
  2680. -3
  2681. -5
  2682. -5
  2683. -5
  2684. -3
  2685. -4
  2686. -3
  2687. -4
  2688. -5
  2689. -5
  2690. -5
  2691. -4
  2692. -5
  2693. -4
  2694. -4
  2695. -4
  2696. -4
  2697. -4
  2698. -5
  2699. -5
  2700. -4
  2701. -6
  2702. -4
  2703. -4
  2704. -4
  2705. -4
  2706. -4
  2707. -5
  2708. -4
  2709. -5
  2710. -4
  2711. -3
  2712. -4
  2713. -6
  2714. -4
  2715. -4
  2716. -4
  2717. -5
  2718. -4
  2719. -5
  2720. -4
  2721. -5
  2722. -4
  2723. -5
  2724. -4
  2725. -4
  2726. -4
  2727. -3
  2728. -5
  2729. -6
  2730. -3
  2731. -3
  2732. -4
  2733. -4
  2734. -4
  2735. -4
  2736. -4
  2737. -4
  2738. -4
  2739. -4
  2740. -4
  2741. -4
  2742. -4
  2743. -4
  2744. -3
  2745. -7
  2746. -5
  2747. -3
  2748. -5
  2749. -3
  2750. -4
  2751. -4
  2752. -4
  2753. -5
  2754. -4
  2755. -5
  2756. -4
  2757. -4
  2758. -4
  2759. -4
  2760. -5
  2761. -3
  2762. -4
  2763. -4
  2764. -4
  2765. -4
  2766. -4
  2767. -5
  2768. -4
  2769. -4
  2770. -4
  2771. -4
  2772. -3
  2773. -4
  2774. -5
  2775. -3
  2776. -4
  2777. -5
  2778. -3
  2779. -3
  2780. -4
  2781. -4
  2782. -4
  2783. -5
  2784. -3
  2785. -4
  2786. -4
  2787. -4
  2788. -4
  2789. -3
  2790. -4
  2791. -3
  2792. -4
  2793. -6
  2794. -5
  2795. -4
  2796. -6
  2797. -4
  2798. -4
  2799. -3
  2800. -4
  2801. -4
  2802. -3
  2803. -4
  2804. -5
  2805. -3
  2806. -3
  2807. -4
  2808. -4
  2809. -6
  2810. -5
  2811. -4
  2812. -3
  2813. -5
  2814. -5
  2815. -5
  2816. -5
  2817. -4
  2818. -4
  2819. -4
  2820. -5
  2821. -4
  2822. -4
  2823. -5
  2824. -4
  2825. -4
  2826. -4
  2827. -4
  2828. -4
  2829. -4
  2830. -5
  2831. -4
  2832. -4
  2833. -4
  2834. -4
  2835. -4
  2836. -4
  2837. -5
  2838. -4
  2839. -3
  2840. -3
  2841. -7
  2842. -4
  2843. -5
  2844. -3
  2845. -4
  2846. -4
  2847. -4
  2848. -4
  2849. -4
  2850. -5
  2851. -5
  2852. -3
  2853. -4
  2854. -5
  2855. -6
  2856. -4
  2857. -6
  2858. -4
  2859. -4
  2860. -3
  2861. -4
  2862. -4
  2863. -4
  2864. -4
  2865. -4
  2866. -4
  2867. -4
  2868. -3
  2869. -4
  2870. -4
  2871. -3
  2872. -4
  2873. -6
  2874. -3
  2875. -5
  2876. -4
  2877. -5
  2878. -4
  2879. -4
  2880. -4
  2881. -3
  2882. -4
  2883. -4
  2884. -4
  2885. -4
  2886. -4
  2887. -3
  2888. -3
  2889. -6
  2890. -4
  2891. -5
  2892. -3
  2893. -3
  2894. -5
  2895. -4
  2896. -4
  2897. -4
  2898. -4
  2899. -5
  2900. -4
  2901. -3
  2902. -4
  2903. -4
  2904. -4
  2905. -5
  2906. -4
  2907. -3
  2908. -3
  2909. -4
  2910. -4
  2911. -4
  2912. -4
  2913. -4
  2914. -4
  2915. -4
  2916. -5
  2917. -5
  2918. -5
  2919. -5
  2920. -5
  2921. -5
  2922. -4
  2923. -4
  2924. -5
  2925. -5
  2926. -4
  2927. -5
  2928. -4
  2929. -5
  2930. -5
  2931. -4
  2932. -5
  2933. -4
  2934. -5
  2935. -4
  2936. -5
  2937. -5
  2938. -5
  2939. -5
  2940. -5
  2941. -4
  2942. -5
  2943. -4
  2944. -5
  2945. -4
  2946. -3
  2947. -4
  2948. -4
  2949. -5
  2950. -5
  2951. -5
  2952. -4
  2953. -5
  2954. -4
  2955. -4
  2956. -6
  2957. -5
  2958. -4
  2959. -5
  2960. -4
  2961. -4
  2962. -5
  2963. -5
  2964. -4
  2965. -4
  2966. -4
  2967. -3
  2968. -4
  2969. -8
  2970. -4
  2971. -5
  2972. -5
  2973. -4
  2974. -4
  2975. -4
  2976. -5
  2977. -4
  2978. -5
  2979. -4
  2980. -4
  2981. -4
  2982. -5
  2983. -4
  2984. -3
  2985. -5
  2986. -4
  2987. -4
  2988. -5
  2989. -4
  2990. -5
  2991. -4
  2992. -4
  2993. -3
  2994. -4
  2995. -4
  2996. -5
  2997. -4
  2998. -4
  2999. -4
  3000. -4
  3001. -6
  3002. -4
  3003. -4
  3004. -4
  3005. -4
  3006. -4
  3007. -4
  3008. -5
  3009. -4
  3010. -5
  3011. -4
  3012. -3
  3013. -4
  3014. -4
  3015. -4
  3016. -4
  3017. -5
  3018. -3
  3019. -5
  3020. -5
  3021. -3
  3022. -4
  3023. -3
  3024. -4
  3025. -5
  3026. -4
  3027. -5
  3028. -4
  3029. -4
  3030. -4
  3031. -4
  3032. -4
  3033. -5
  3034. -4
  3035. -4
  3036. -4
  3037. -3
  3038. -4
  3039. -5
  3040. -4
  3041. -4
  3042. -4
  3043. -4
  3044. -4
  3045. -5
  3046. -4
  3047. -5
  3048. -4
  3049. -5
  3050. -4
  3051. -6
  3052. -5
  3053. -4
  3054. -5
  3055. -5
  3056. -5
  3057. -5
  3058. -5
  3059. -4
  3060. -5
  3061. -5
  3062. -4
  3063. -4
  3064. -4
  3065. -5
  3066. -5
  3067. -5
  3068. -5
  3069. -4
  3070. -4
  3071. -4
  3072. -4
  3073. -4
  3074. -3
  3075. -4
  3076. -4
  3077. -4
  3078. -4
  3079. -4
  3080. -4
  3081. -3
  3082. -4
  3083. -4
  3084. -5
  3085. -4
  3086. -4
  3087. -4
  3088. -5
  3089. -4
  3090. -4
  3091. -4
  3092. -4
  3093. -4
  3094. -4
  3095. -4
  3096. -4
  3097. -5
  3098. -4
  3099. -5
  3100. -4
  3101. -5
  3102. -4
  3103. -4
  3104. -4
  3105. -3
  3106. -4
  3107. -5
  3108. -3
  3109. -4
  3110. -3
  3111. -4
  3112. -4
  3113. -6
  3114. -4
  3115. -4
  3116. -4
  3117. -4
  3118. -4
  3119. -4
  3120. -4
  3121. -4
  3122. -4
  3123. -4
  3124. -3
  3125. -3
  3126. -5
  3127. -3
  3128. -3
  3129. -6
  3130. -3
  3131. -4
  3132. -3
  3133. -4
  3134. -4
  3135. -3
  3136. -3
  3137. -4
  3138. -4
  3139. -4
  3140. -4
  3141. -4
  3142. -4
  3143. -3
  3144. -3
  3145. -6
  3146. -5
  3147. -3
  3148. -4
  3149. -4
  3150. -3
  3151. -4
  3152. -4
  3153. -4
  3154. -6
  3155. -3
  3156. -4
  3157. -4
  3158. -4
  3159. -3
  3160. -4
  3161. -6
  3162. -5
  3163. -4
  3164. -4
  3165. -4
  3166. -5
  3167. -6
  3168. -6
  3169. -4
  3170. -4
  3171. -4
  3172. -5
  3173. -3
  3174. -4
  3175. -5
  3176. -5
  3177. -5
  3178. -4
  3179. -5
  3180. -5
  3181. -4
  3182. -4
  3183. -4
  3184. -4
  3185. -3
  3186. -5
  3187. -4
  3188. -4
  3189. -4
  3190. -4
  3191. -5
  3192. -4
  3193. -4
  3194. -4
  3195. -4
  3196. -3
  3197. -4
  3198. -5
  3199. -5
  3200. -5
  3201. -4
  3202. -4
  3203. -4
  3204. -4
  3205. -4
  3206. -3
  3207. -6
  3208. -5
  3209. -6
  3210. -4
  3211. -4
  3212. -4
  3213. -4
  3214. -5
  3215. -4
  3216. -4
  3217. -5
  3218. -4
  3219. -4
  3220. -4
  3221. -5
  3222. -4
  3223. -5
  3224. -4
  3225. -5
  3226. -3
  3227. -3
  3228. -5
  3229. -2
  3230. -4
  3231. -4
  3232. -3
  3233. -4
  3234. -6
  3235. -4
  3236. -5
  3237. -5
  3238. -5
  3239. -5
  3240. -5
  3241. -5
  3242. -6
  3243. -4
  3244. -4
  3245. -4
  3246. -5
  3247. -5
  3248. -5
  3249. -3
  3250. -4
  3251. -4
  3252. -4
  3253. -4
  3254. -4
  3255. -4
  3256. -4
  3257. -5
  3258. -6
  3259. -4
  3260. -4
  3261. -5
  3262. -4
  3263. -4
  3264. -4
  3265. -4
  3266. -3
  3267. -4
  3268. -5
  3269. -5
  3270. -5
  3271. -4
  3272. -3
  3273. -5
  3274. -4
  3275. -4
  3276. -4
  3277. -5
  3278. -5
  3279. -5
  3280. -5
  3281. -4
  3282. -5
  3283. -4
  3284. -5
  3285. -4
  3286. -4
  3287. -3
  3288. -4
  3289. -6
  3290. -3
  3291. -5
  3292. -4
  3293. -3
  3294. -4
  3295. -4
  3296. -4
  3297. -4
  3298. -5
  3299. -4
  3300. -5
  3301. -4
  3302. -5
  3303. -4
  3304. -4
  3305. -5
  3306. -3
  3307. -3
  3308. -4
  3309. -5
  3310. -4
  3311. -4
  3312. -4
  3313. -4
  3314. -4
  3315. -5
  3316. -4
  3317. -3
  3318. -4
  3319. -3
  3320. -4
  3321. -4
  3322. -4
  3323. -5
  3324. -4
  3325. -5
  3326. -4
  3327. -4
  3328. -4
  3329. -5
  3330. -5
  3331. -4
  3332. -3
  3333. -5
  3334. -4
  3335. -5
  3336. -5
  3337. -6
  3338. -5
  3339. -3
  3340. -4
  3341. -4
  3342. -6
  3343. -5
  3344. -4
  3345. -4
  3346. -4
  3347. -4
  3348. -6
  3349. -5
  3350. -5
  3351. -4
  3352. -4
  3353. -5
  3354. -4
  3355. -5
  3356. -3
  3357. -4
  3358. -5
  3359. -4
  3360. -4
  3361. -4
  3362. -5
  3363. -5
  3364. -4
  3365. -4
  3366. -4
  3367. -6
  3368. -4
  3369. -5
  3370. -5
  3371. -5
  3372. -5
  3373. -4
  3374. -4
  3375. -4
  3376. -5
  3377. -4
  3378. -4
  3379. -5
  3380. -4
  3381. -4
  3382. -4
  3383. -5
  3384. -4
  3385. -5
  3386. -3
  3387. -3
  3388. -5
  3389. -5
  3390. -4
  3391. -5
  3392. -4
  3393. -4
  3394. -4
  3395. -5
  3396. -4
  3397. -4
  3398. -4
  3399. -4
  3400. -4
  3401. -4
  3402. -5
  3403. -5
  3404. -4
  3405. -4
  3406. -4
  3407. -3
  3408. -3
  3409. -4
  3410. -5
  3411. -6
  3412. -4
  3413. -5
  3414. -5
  3415. -5
  3416. -5
  3417. -6
  3418. -5
  3419. -4
  3420. -5
  3421. -6
  3422. -5
  3423. -5
  3424. -5
  3425. -5
  3426. -4
  3427. -5
  3428. -4
  3429. -5
  3430. -5
  3431. -5
  3432. -3
  3433. -5
  3434. -4
  3435. -5
  3436. -4
  3437. -5
  3438. -5
  3439. -5
  3440. -4
  3441. -6
  3442. -5
  3443. -5
  3444. -5
  3445. -5
  3446. -4
  3447. -5
  3448. -5
  3449. -6
  3450. -5
  3451. -5
  3452. -5
  3453. -4
  3454. -5
  3455. -4
  3456. -5
  3457. -6
  3458. -3
  3459. -5
  3460. -5
  3461. -6
  3462. -5
  3463. -6
  3464. -5
  3465. -4
  3466. -5
  3467. -5
  3468. -5
  3469. -6
  3470. -5
  3471. -6
  3472. -5
  3473. -5
  3474. -4
  3475. -5
  3476. -6
  3477. -4
  3478. -5
  3479. -4
  3480. -5
  3481. -7
  3482. -5
  3483. -5
  3484. -4
  3485. -5
  3486. -5
  3487. -5
  3488. -4
  3489. -4
  3490. -4
  3491. -5
  3492. -4
  3493. -4
  3494. -4
  3495. -5
  3496. -5
  3497. -6
  3498. -4
  3499. -3
  3500. -4
  3501. -5
  3502. -5
  3503. -5
  3504. -5
  3505. -4
  3506. -4
  3507. -5
  3508. -6
  3509. -4
  3510. -5
  3511. -4
  3512. -5
  3513. -4
  3514. -4
  3515. -5
  3516. -4
  3517. -5
  3518. -5
  3519. -5
  3520. -5
  3521. -5
  3522. -5
  3523. -4
  3524. -5
  3525. -5
  3526. -5
  3527. -4
  3528. -4
  3529. -4
  3530. -4
  3531. -4
  3532. -4
  3533. -3
  3534. -5
  3535. -5
  3536. -4
  3537. -5
  3538. -6
  3539. -5
  3540. -5
  3541. -5
  3542. -4
  3543. -6
  3544. -5
  3545. -5
  3546. -4
  3547. -5
  3548. -5
  3549. -5
  3550. -3
  3551. -5
  3552. -4
  3553. -5
  3554. -4
  3555. -4
  3556. -5
  3557. -4
  3558. -6
  3559. -5
  3560. -4
  3561. -7
  3562. -4
  3563. -4
  3564. -4
  3565. -5
  3566. -4
  3567. -5
  3568. -5
  3569. -3
  3570. -5
  3571. -5
  3572. -4
  3573. -5
  3574. -4
  3575. -5
  3576. -3
  3577. -6
  3578. -5
  3579. -4
  3580. -4
  3581. -4
  3582. -5
  3583. -5
  3584. -4
  3585. -4
  3586. -4
  3587. -5
  3588. -5
  3589. -3
  3590. -5
  3591. -4
  3592. -5
  3593. -5
  3594. -4
  3595. -4
  3596. -5
  3597. -4
  3598. -4
  3599. -5
  3600. -5
  3601. -5
  3602. -5
  3603. -5
  3604. -5
  3605. -4
  3606. -5
  3607. -3
  3608. -4
  3609. -2
  3610. -4
  3611. -5
  3612. -5
  3613. -4
  3614. -4
  3615. -4
  3616. -6
  3617. -4
  3618. -4
  3619. -3
  3620. -3
  3621. -4
  3622. -4
  3623. -5
  3624. -4
  3625. -5
  3626. -3
  3627. -4
  3628. -4
  3629. -5
  3630. -5
  3631. -4
  3632. -5
  3633. -5
  3634. -5
  3635. -5
  3636. -4
  3637. -5
  3638. -4
  3639. -4
  3640. -4
  3641. -7
  3642. -4
  3643. -4
  3644. -5
  3645. -4
  3646. -5
  3647. -5
  3648. -4
  3649. -4
  3650. -4
  3651. -4
  3652. -5
  3653. -4
  3654. -5
  3655. -3
  3656. -5
  3657. -7
  3658. -4
  3659. -4
  3660. -5
  3661. -4
  3662. -4
  3663. -5
  3664. -5
  3665. -5
  3666. -6
  3667. -5
  3668. -5
  3669. -4
  3670. -4
  3671. -5
  3672. -5
  3673. -6
  3674. -5
  3675. -4
  3676. -5
  3677. -4
  3678. -4
  3679. -5
  3680. -5
  3681. -5
  3682. -4
  3683. -5
  3684. -4
  3685. -4
  3686. -5
  3687. -4
  3688. -5
  3689. -6
  3690. -6
  3691. -5
  3692. -6
  3693. -5
  3694. -5
  3695. -5
  3696. -4
  3697. -6
  3698. -5
  3699. -6
  3700. -5
  3701. -5
  3702. -4
  3703. -5
  3704. -6
  3705. -6
  3706. -5
  3707. -5
  3708. -4
  3709. -6
  3710. -4
  3711. -4
  3712. -5
  3713. -5
  3714. -5
  3715. -5
  3716. -5
  3717. -6
  3718. -5
  3719. -6
  3720. -5
  3721. -5
  3722. -6
  3723. -5
  3724. -5
  3725. -5
  3726. -5
  3727. -5
  3728. -5
  3729. -4
  3730. -4
  3731. -5
  3732. -4
  3733. -5
  3734. -5
  3735. -4
  3736. -5
  3737. -5
  3738. -4
  3739. -5
  3740. -4
  3741. -4
  3742. -4
  3743. -5
  3744. -5
  3745. -4
  3746. -5
  3747. -5
  3748. -5
  3749. -5
  3750. -4
  3751. -4
  3752. -5
  3753. -8
  3754. -4
  3755. -4
  3756. -5
  3757. -4
  3758. -5
  3759. -6
  3760. -5
  3761. -5
  3762. -5
  3763. -6
  3764. -5
  3765. -6
  3766. -4
  3767. -5
  3768. -4
  3769. -5
  3770. -4
  3771. -4
  3772. -5
  3773. -4
  3774. -6
  3775. -4
  3776. -4
  3777. -4
  3778. -6
  3779. -6
  3780. -6
  3781. -5
  3782. -6
  3783. -5
  3784. -5
  3785. -4
  3786. -6
  3787. -4
  3788. -5
  3789. -4
  3790. -5
  3791. -4
  3792. -5
  3793. -5
  3794. -5
  3795. -5
  3796. -5
  3797. -4
  3798. -5
  3799. -5
  3800. -5
  3801. -6
  3802. -5
  3803. -5
  3804. -4
  3805. -5
  3806. -5
  3807. -6
  3808. -5
  3809. -5
  3810. -5
  3811. -5
  3812. -5
  3813. -5
  3814. -5
  3815. -5
  3816. -4
  3817. -6
  3818. -5
  3819. -4
  3820. -5
  3821. -5
  3822. -6
  3823. -4
  3824. -5
  3825. -4
  3826. -5
  3827. -6
  3828. -5
  3829. -5
  3830. -5
  3831. -5
  3832. -4
  3833. -5
  3834. -4
  3835. -5
  3836. -4
  3837. -4
  3838. -4
  3839. -4
  3840. -4
  3841. -5
  3842. -5
  3843. -4
  3844. -4
  3845. -5
  3846. -4
  3847. -6
  3848. -5
  3849. -7
  3850. -4
  3851. -4
  3852. -4
  3853. -4
  3854. -4
  3855. -5
  3856. -4
  3857. -5
  3858. -4
  3859. -5
  3860. -5
  3861. -4
  3862. -4
  3863. -5
  3864. -4
  3865. -5
  3866. -4
  3867. -5
  3868. -4
  3869. -5
  3870. -5
  3871. -5
  3872. -5
  3873. -5
  3874. -5
  3875. -6
  3876. -5
  3877. -4
  3878. -5
  3879. -5
  3880. -5
  3881. -7
  3882. -5
  3883. -5
  3884. -5
  3885. -5
  3886. -6
  3887. -5
  3888. -5
  3889. -5
  3890. -5
  3891. -5
  3892. -5
  3893. -6
  3894. -5
  3895. -6
  3896. -5
  3897. -5
  3898. -5
  3899. -5
  3900. -5
  3901. -5
  3902. -5
  3903. -5
  3904. -5
  3905. -6
  3906. -4
  3907. -4
  3908. -5
  3909. -5
  3910. -5
  3911. -5
  3912. -6
  3913. -7
  3914. -5
  3915. -5
  3916. -6
  3917. -5
  3918. -4
  3919. -5
  3920. -6
  3921. -6
  3922. -6
  3923. -5
  3924. -5
  3925. -5
  3926. -5
  3927. -5
  3928. -6
  3929. -6
  3930. -6
  3931. -4
  3932. -6
  3933. -5

Existe un error sistemático (de offset) y cierto ruido no muy grande.

Adjunto una gráfica que representa con puntos el error para cada valor de DAC y el archivo excel:



Un saludo.
« Última modificación: 18 de Mayo de 2017, 15:36:04 por Picuino »

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:Mis experiencias con Teensy 3.6
« Respuesta #46 en: 19 de Mayo de 2017, 16:20:12 »
Continuous Sampling
En este caso he hecho pruebas de error de DAC y ADC con 12 bits de resolución.
He conseguido que el ADC trabaje en modo continuous sampling controlando directamente los registros del ADC.
Con un reloj de 15MHz (60MHz de bus entre 4) se consigue una conversión cada 20 ciclos (una conversión cada 1.333us o 750ksamples/segundo) que no está nada mal.

Los resultados, por alguna razón, tienen más error de linealidad. Quizá sea por la calibración.
El error de ruido está muy bien, con desviaciones estándar máximas de 1.3 (error de +-2 en la lectura), semejantes a los calculados anteriormente para las funciones más lentas de Arduino.

Adjunto programa de Arduino:
Código: C
  1. /*
  2.    Fast ADC
  3.    Continous sampling
  4.    https://github.com/PaulStoffregen/cores/blob/master/teensy3/analog.c
  5. */
  6.  
  7. #define VREF_MARGIN     0.02
  8. #define DAC_RANGE       4096.0
  9. #define DAC_MARGIN      (0.02 * DAC_RANGE)
  10.  
  11. void ADC1_init(uint8_t channel);
  12. uint16_t ADC1_read(uint8_t channel);
  13. const int ledPin = 13;
  14.  
  15.  
  16. void setup() {
  17.   // Config
  18.   Serial.begin(9600);
  19.   pinMode(ledPin, OUTPUT);
  20.   pinMode(A20, INPUT);
  21.  
  22.   // Set 12 bit resolution
  23.   analogWriteResolution(12);
  24.   analogReadResolution(12);
  25.  
  26.   ADC1_init(A20);
  27. }
  28.  
  29.  
  30. void loop() {
  31.   int volts_read, error;
  32.   float mean, desvest;
  33.   int const average_dots = 128;
  34.  
  35.   // DAC range sweep
  36.   for(int volts_write=DAC_MARGIN; volts_write<DAC_RANGE-DAC_MARGIN; volts_write++) {
  37.     // Change DAC output
  38.     analogWrite(A21, volts_write);
  39.     delayMicroseconds(20);
  40.  
  41.     // Compute mean and standard deviation of error
  42.     mean = desvest = 0;
  43.     for(int j=0; j<average_dots; j++) {
  44.       volts_read = analogRead(A20); // ADC1_read(A20);
  45.       *portToggleRegister(ledPin) = 1;        
  46.       error = volts_write - volts_read;
  47.       mean += error;
  48.       desvest += error*error;
  49.     }
  50.     mean = mean * (1.0/average_dots);
  51.     desvest = sqrt(desvest * (1.0/average_dots) - mean*mean);
  52.  
  53.     // Print mean and standard deviation of error
  54.     Serial.print("Volts="); Serial.print(volts_write);
  55.     Serial.print("\tMean="); Serial.print(mean);
  56.     Serial.print("\tDesvest="); Serial.print(desvest);
  57.     Serial.println();
  58.   }
  59.   while(Serial.read() < 0);
  60. }
  61.  
  62.  
  63. /**************************************************************************/
  64.  
  65. // __MK64FX512__ and __MK66FX1M0__ Teensy analog pins definitions
  66. // Numbers below 128 belongs to ADC0. Numbers greater than 128 belongs to ADC1
  67. // Source: https://github.com/PaulStoffregen/cores/blob/master/teensy3/analog.c
  68. static const uint8_t pin2sc1a[] = {
  69.   5, 14, 8, 9, 13, 12, 6, 7, 15, 4, 3, 19+128, 14+128, 15+128, // 0-13 -> A0-A13
  70.   5, 14, 8, 9, 13, 12, 6, 7, 15, 4, // 14-23 are A0-A9
  71.   255, 255, 255, 255, 255, 255, 255, // 24-30 are digital only
  72.   14+128, 15+128, 17, 18, 4+128, 5+128, 6+128, 7+128, 17+128,  // 31-39 are A12-A20
  73.   255, 255, 255, 255, 255, 255, 255, 255, 255,  // 40-48 are digital only
  74.   10+128, 11+128, // 49-50 are A23-A24
  75.   255, 255, 255, 255, 255, 255, 255, // 51-57 are digital only
  76.   255, 255, 255, 255, 255, 255, // 58-63 (sd card pins) are digital only
  77.   3, 19+128, // 64-65 are A10-A11
  78.   23, 23+128,// 66-67 are A21-A22 (DAC pins)
  79.   1, 1+128,  // 68-69 are A25-A26 (unused USB host port on Teensy 3.5)
  80.   26,        // 70 is Temperature Sensor
  81.   18+128     // 71 is Vref
  82. };
  83.  
  84.  
  85. // Init ADC1
  86. void ADC1_init(uint8_t channel) {
  87.   uint32_t ADC_CFG1, ADC_CFG2, ADC_SC1A;
  88.  
  89.   if (channel > sizeof(pin2sc1a)) return;
  90.  
  91.   ADC_CFG1 =
  92.     //+ ADC_CFG1_ADLPC     // Low-power configuration
  93.     //+ ADC_CFG1_ADLSMP    // Long Sample Time
  94.     + ADC_CFG1_MODE(1)   // 0=8bit, 1=12bit, 2=10bit, 3=16bit
  95.     + ADC_CFG1_ADIV(1)   // Clock divide, 0=direct, 1=div2, 2=div4, 3=div8
  96.     + ADC_CFG1_ADICLK(1) // Input clock, 0=bus, 1=bus/2, 2= , 3=async
  97.     + 0;
  98.   ADC1_CFG1 = ADC_CFG1;
  99.  
  100.   ADC_CFG2 =
  101.     //+ ADC_CFG2_MUXSEL     // Selects ADxxB channels instead ADxxA channels
  102.     //+ ADC_CFG2_ADACKEN    // Async clock enable
  103.     //+ ADC_CFG2_ADHSC      // Add 2 extra clocks to conversion (for high speed clocks)
  104.     //+ ADC_CFG2_ADLSTS(3) // Extra clocks for long sample (ADLSMP=1) (0=24,1=12,2=6,3=4)
  105.     + 0;
  106.   ADC1_CFG2 = ADC_CFG2;
  107.    
  108.   ADC_SC1A =
  109.     //+ ADC_SC1_COCO // Conversion Complete
  110.     //+ ADC_AIEN     // Interrupt Enable
  111.     //+ ADC_DIFF     // Differential Mode Enable
  112.     + pin2sc1a[channel];  // Input channel select and conversion init
  113.   ADC1_SC1A = ADC_SC1A;
  114.  
  115.   ADC1_SC2 =
  116.     //+ ADC_SC2_ADACT      // Conversion active
  117.     //+ ADC_SC2_ADTRG      // Conversion Trigger 0=Software, 1=Hardware
  118.     //+ ADC_SC2_ACFE       // Compare Function Enable
  119.     //+ ADC_SC2_ACFGT      // Compare Function Greater Than Enable
  120.     //+ ADC_SC2_ACREN      // Compare Function Range Enable
  121.     //+ ADC_SC2_DMAEN      // DMA Enable
  122.     + ADC_SC2_REFSEL(0); // Voltage Reference 0=Ext pins, 1=Alternate Ext. pins
  123.    
  124.   ADC1_SC3 =
  125.     //+ ADC_SC3_CAL     // Init Calibration
  126.     //+ ADC_SC3_CALF    // Calibration Failed
  127.     + ADC_SC3_ADCO    // Continuous conversion Enable
  128.     //+ ADC_SC3_AVGE    // Hardware average enable
  129.     //+ ADC_SC3_AVGS(3) // Hardware average 0=4 sampl, 1=8 sampl, 2=16 sampl, 3=32 sampl
  130.     +0;
  131.  
  132.   // Start Calibration
  133.   ADC1_SC3 |= ADC_SC3_CAL;
  134.   while ((ADC1_SC3 & ADC_SC3_CAL)) {
  135.     if (ADC1_SC3 & ADC_SC3_CALF) {
  136.       Serial.println("Calibration error");
  137.       return;
  138.     }
  139.   }
  140.   ADC1_SC3 &= ~ADC_SC3_CAL;
  141.   ADC1_CFG1 = ADC_CFG1;
  142.   ADC1_CFG2 = ADC_CFG2;
  143.  
  144.   // Conversion init
  145.   ADC1_SC1A = ADC_SC1A;
  146.   //Serial.println(ADC_SC1A); for(;;);
  147. }
  148.  
  149.  
  150. // Read ADC1
  151. uint16_t ADC1_read(uint8_t channel) {
  152.   // Change channel and init conversion.
  153.   // ADC0_SC1A = (ADC0_SC1A & (~(int)0x1F)) + pin2sc1a[channel & 0x1F]
  154.   while ((ADC1_SC1A & ADC_SC1_COCO) == 0);
  155.   return ADC1_RA;
  156. }


Saludos.

Desconectado elgarbe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2178
Re:Mis experiencias con Teensy 3.6
« Respuesta #47 en: 22 de Mayo de 2017, 14:45:32 »
Picuino, no sé si lo has visto, pero para este tipo de aplicaciones (Mixed signal) ST tiene los M3 con características especiales para el ADC y el DAC:

http://www.st.com/en/microcontrollers/stm32f3-series.html?querycriteria=productId=SS1576

Como ves tenes 5MSPS hasta 18 en un modo especial (usa varios canales para leer el mismo valor analogico, de modo que cuando uno está convirtiendo el otro se "está preparando" para convertir).

La placa de evaluacion del stm32f3discovery cuesta USD14.7

quizá atmel tenga lo mismo, una familia con uC mixed signals.

saludos
-
Leonardo Garberoglio

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:Mis experiencias con Teensy 3.6
« Respuesta #48 en: 22 de Mayo de 2017, 15:21:03 »
El Kinetis K66 del Teensy3.6 también puede convertir con 2 ADCs para duplicar la frecuencia (interleaved). Pero tiene una frecuencia máxima de 2.4Msamples/segundo (imagino que a 8bit), menor que ese otro integrado.

Por ahora seguiré con la Teensy. Cuando haya avanzado y me lleguen las placas de ST, probaré con ellas.

Saludos.


 

anything